Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: помогите записать в файл

Сообщения:  [1-10]   [11-19] 

 
 автор: Spenser   (18.05.2006 в 09:47)   письмо автору
 
   для: Евгений Петров   (17.05.2006 в 14:31)
 

Нет, ошибки не выдает. Просто не записывает в таблицу и все.

   
 
 автор: Евгений Петров   (17.05.2006 в 14:31)   письмо автору
 
   для: Spenser   (16.05.2006 в 21:58)
 

Эмм, а что значит не работает? Ошибку какую то выдает?

   
 
 автор: Spenser   (16.05.2006 в 21:58)   письмо автору
 
   для: Евгений Петров   (16.05.2006 в 21:34)
 

пробывал Ваш скрипт все работает. а свой нет. я поменял строчки

$typedat = explode("|", $file[$i]); 

на

$typedat = explode("|", trim($file[$i])); 

не работает, потом

$typedat = explode("|", trim($file[$i])); 
$query = "INSERT INTO $userstable2(nametype, descrtype) VALUES('$typedat[0]', '$typedat[1]')";

заменил на

$typedat = explode("|", trim($file[$i])); 
$query = "INSERT INTO $userstable2(nametype, descrtype) VALUES('".mysql_escape_string($typedat[0])."','".mysql_escape_string($typedat[1])."')";

все равно не работает. в чем проблема???

   
 
 автор: Spenser   (16.05.2006 в 21:41)   письмо автору
 
   для: Евгений Петров   (16.05.2006 в 21:34)
 

А в функции user_explode надо что то менять?

   
 
 автор: Евгений Петров   (16.05.2006 в 21:34)   письмо автору
 
   для: Spenser   (16.05.2006 в 21:20)
 

Ну впринципе все правильно, только здесь:
$typedat = explode("|", $file[$i]);

$file[$i] замените на trim($file[$i]) это нужно чтобы убрать символы переноса строки в конце строки. Ну и explode замените на ту функцию что я написал, хотя если в самих данных символ | у вас точно не встречается, тогда этого можно и не делать.

   
 
 автор: Spenser   (16.05.2006 в 21:20)   письмо автору
 
   для: Евгений Петров   (16.05.2006 в 21:14)
 

спасибо за скрипт. А можите подредактировать вот этот:

<?php
include("config.php");
/* создать соединение */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@
mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

$file file("type.txt");
$count count($file);
for(
$i 0$i $count$i++){
$typedat explode("|"$file[$i]);
$query "INSERT INTO $userstable2(nametype, descrtype) VALUES('$typedat[0]', '$typedat[1]')";
              } 
MYSQL_CLOSE();
?>

   
 
 автор: Евгений Петров   (16.05.2006 в 21:14)   письмо автору
 
   для: Евгений Петров   (16.05.2006 в 21:05)
 

Вроде такого, проверьте:
<?php
  
include("config.php");
  if(!@
mysql_connect($hostname,$username,$password)) exit(mysql_error());
  if(!@
mysql_select_db($dbName)) exit(mysql_error());

  function 
user_explode($separator,$string)
  {
    
$buf "";
    unset(
$ret_array);

    for(
$i 0$i strlen($string); $i++)
    {
      if(
$string[$i] == $separator && $string[$i 1] != "\\")
      {
        
$ret_array[] = $buf;
        
$buf "";
      }
      else
      {
        
$buf.= $string[$i];
      }
    }
    
$ret_array[] = $buf;

    return 
$ret_array;
  }

  
$f fopen("type.txt","r");
  if(
$f)
  {
    while(!
feof($f))
    {
      
$line fgets($f);
      
$arr user_explode("|",trim($line));
      
mysql_query("INSERT INTO $userstable1() VALUES('".mysql_escape_string($arr[0])."','".mysql_escape_string($arr[1])."')");
    }
  }

  
fclose($f);
?>

   
 
 автор: Евгений Петров   (16.05.2006 в 21:05)   письмо автору
 
   для: Spenser   (16.05.2006 в 21:03)
 

Момент.

   
 
 автор: Spenser   (16.05.2006 в 21:03)   письмо автору
 
   для: Евгений Петров   (16.05.2006 в 20:56)
 

А можно пример вывода и записи в БД?

   
 
 автор: Евгений Петров   (16.05.2006 в 20:56)   письмо автору
 
   для: Spenser   (16.05.2006 в 20:49)
 

Много лишнего, к тому же, зачем вы в цикле открываете и закрываете файл? Вот мой вариант:
<?php
  
include("config.php");
  if(!@
mysql_connect($hostname,$username,$password)) exit(mysql_error());
  if(!@
mysql_select_db($dbName)) exit(mysql_error());

  
$query mysql_query("SELECT * FROM $userstable1");

  if(
mysql_num_rows($query) > 0)
  {
    
$f fopen("type.txt","r");
    while(
$fetch mysql_fetch_array($query))
    {
      
fwrite($f,str_replace("|","\\|",$fetch['nametype'])."|".str_replace("|","\\|",$fetch['descrtype'])."\n");
    }
    
fclose($f);
  }
?>

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования