|
|
|
|
|
для: Trianon
(07.08.2009 в 02:50)
| | я привык к делфи.
По поводу вывода - не думаю, что я путаю число строк с первой строкой таблицы. Впрочем не важно, это не такая уж большая проблема, спасибо за помощь, вы мне очень помогли. | |
|
|
|
|
|
|
|
для: Alexhoppus
(07.08.2009 в 02:32)
| | >Противоречия нет, просто много вещей в синтаксисе языка непривычных совершенно.
вот уж синтаксис здесь совсем в стороне.
а к какому языку Вы привыкли?
>В моем понимании тогда $f должен быть 2 мерным массивом, где будет присутствовать вся таблица, а не строкой таблицы которая перезаписывается постоянно на себя...
вся таблица может не поместиться в память. Да и не нужны уже обрботанные строки... | |
|
|
|
|
|
|
|
для: Alexhoppus
(07.08.2009 в 02:32)
| | показывайте фрагмент вывода.
По идее у Вас должны выводиться все строки.
Просто перед первой будет вылезать вот это echo "$num_rows Rows\n"; как и написали. | |
|
|
|
|
|
|
|
для: Trianon
(07.08.2009 в 02:11)
| | Противоречия нет, просто много вещей в синтаксисе языка непривычных совершенно. В моем понимании тогда $f должен быть 2 мерным массивом, где будет присутствовать вся таблица, а не строкой таблицы которая перезаписывается постоянно на себя.
Я перакрасно понимаю как работает цикл, просто я не понимал почему одна и та же по виду строчка, стоящая в теле цикла, выводит разные элементы с каждым новым повторениям тела. | |
|
|
|
|
|
|
|
для: Trianon
(07.08.2009 в 02:11)
| | Пожалуйста
<?php
$lnk = mysql_connect('localhost', 'log', 'pass') or die ( 'Not connected : ' . mysql_error() );
mysql_select_db('BD', $lnk) or die ('Can\'t use foo : ' . mysql_error());
echo "$lnk";
echo"<br>";
mysql_query( 'SET NAMES cp1251' );
$result = mysql_query("SELECT * FROM ID", $lnk) or die(mysql_error());
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
while ($f = mysql_fetch_array($result, MYSQL_ASSOC))
{
printf ("FIO: %s DATE: %s" , $f["SURNAME"], $f["DATE"]);
echo"<br>";
}
Если закомментировать вот эти две строки
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
то выводит все как надо, не пойму почему только
?> | |
|
|
|
|
|
|
|
для: Alexhoppus
(07.08.2009 в 01:45)
| | >Путем проб и ошибок выяснил, что запись
Вы пытались разобраться как цикл работает?
Так это имело смысл делать до знакомства с MySQL.
>Получается переменная $f не массив, а его элемент.
$f - массив, представляющий очередную строку рез.таблицы.
$f["SURNAME"] - элемент массива, представляющий поле SURNAME этой строки.
В чем противоречие?
>Возникла следующая проблема: вывод осуществляется со второй строки в базе данных, первая куда-то пропадает!
дамп таблицы и код в студию.
Явно в коде ошибка. | |
|
|
|
|
|
|
|
для: Trianon
(06.08.2009 в 00:46)
| | Путем проб и ошибок выяснил, что запись
$f = mysql_fetch_array($result, MYSQL_ASSOC);
print_r($f["SURNAME"]);
$f = mysql_fetch_array($result, MYSQL_ASSOC);
print_r($f["SURNAME"]);
....
$f = mysql_fetch_array($result, MYSQL_ASSOC);
print_r($f["SURNAME"]);
Фактически будет эквивалентна данному циклу
while ($f = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("FIO: %s " , $f["SURNAME"]);
Получается переменная $f не массив, а его элемент. Возникла следующая проблема: вывод осуществляется со второй строки в базе данных, первая куда-то пропадает! | |
|
|
|
|
|
|
|
для: Alexhoppus
(06.08.2009 в 00:17)
| |
for($res = mysql_query("SELECT * from table");
($row = mysql_fetch_assoc($res) != 0 ;
)
{
print_r($row);
}
|
Я действительно не понял, что с %s не так. | |
|
|
|
|
|
|
|
для: Trianon
(06.08.2009 в 00:06)
| | Ладно буду сам разбираться, уже итак много вопросов задал, спасибо большое. Если тока может кого не затруднит просьба эту конструкцию написать через for если это возможно. | |
|
|
|
|
|
|
|
для: Alexhoppus
(05.08.2009 в 23:52)
| | Вообще говоря, если почитать в мануале описание функции (hint: php.net/mysql_fetch_array ), то станет ясно, что возвращать она может не только массив.
А что по поводу %s? | |
|
|
|
|