Консультация № 58408
10.10.2006, 16:20
0.00 руб.
0 3 2
Здраствуйте!
Обьясните мне где я ошибся! Из БД в файл записываются записи, по одной на строку. Но в не во всех строках по одному значению. Те записи ктороые были добавлены из файла(противополжным методом) написаны по одной, а те которые добалены по одной через форму по несколько штук. Но при echo("<BR>$s") выводится правильно.(в $s содержится строка)
Например:
fffffffffff -из файла
1234 -из файла
rrrr -из файла
yyyy - из файла
http://ya.ruHttp://www.ya.rugggggggg -три значения на одной строке все три добавлены через форму.

Приложение:
<?phpinclude "dbconf.php";$fname=$HTTP_POST_VARS[‘dir‘];$s="SELECT urls.url FROM urls;"; $r=mysql_query($s);if($r){ $file=fopen($fname,"w"); if($file){ while($u=mysql_fetch_array($r)) { $s=$u[‘url‘]; echo("
$s"); fputs($file,$s,strlen($s)); } echo ("
<a href=$fname>Скачать</a>"); }}?>

Обсуждение

Неизвестный
10.10.2006, 20:42
общий
это ответ
Здравствуйте, chikanok!
А какая организация самой базы ?
Может быть просто данные в базу при записи с формы "слиплись" ?
К сожалению, здесь нету процедуры занесения инфы в базу, поэтому ничего сказать нельзя.
Мне кажется, надо вначале посмотреть, что храниться в базе и после этого уже думать в чем дело
Неизвестный
10.10.2006, 21:17
общий
Игорь Елизаров Данные в базе в нормальном виде и внесены правиль. Дело в том что при добавлении из файла в конце каждой строки символы перехода на следующую строку, а при занесении через форму их нет. При попытке добавить к $s "\n" ($s+="\n"; или $s=$s+"\n";) строчка становится нулевой (echo($s) получается 0) в чём причина я не понимаю!!!
Неизвестный
11.10.2006, 05:49
общий
это ответ
Здравствуйте, chikanok!
>>>При попытке добавить к $s "\n" ($s+="\n"; или $s=$s+"\n";) строчка становится нулевой (echo($s) получается 0) в чём причина я не понимаю!!!

Причина в том, что для строки нужно писать $s.="\n" или $s=$s."\n" (оператор "." точка). А оператор "+" автоматически приводит $s к числовому типу, и поэтому и получается 0(если бы $s начиналась с 5 то получилось бы 5).

p/s в форум писать не могу.
Форма ответа