[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с циклами
vikkrsk
Здравствуйте у меня вопрос следующего характера

мне надо реализовать цикл так,что бы в результате выводилась информация следующего вида;
название первой таблицы(количество записей)
-первая запись
-вторая запись
-третья запись
...
название второй таблицы(количество записей)
-первая запись
-вторая запись
-третья запись
...
и так далее...
я пробовал это сделать следующим образом но у меня выводиться только первая запись из таблицы

PHP
$query = @mysql_query ("SHOW TABLE STATUS FROM avto"$db); 
 
$result mysql_num_rows($query); 
 
$resultat mysql_fetch_array($query);
 echo 
"Кол-во таблиц в базе данных AVTO = $result<br>"
 do { 
 
printf ("%s(%s)<br>\n",$resultat["Name"],$resultat["Rows"]); 
 
$table $resultat["Name"]; 
 
$queryd mysql_query ("SELECT name FROM ".$table." "$db); 
 
$qw mysql_fetch_array($queryd); 
 
printf ("<ul>%s</ul><br>\n",$qw["name"]); 
 } 
 while (
$resultat mysql_fetch_array($query));




Я так понимаю мне надо вывести цикл наименований таблиц а внутрь вставить цикл выводящий записи к каждой таблице но если я делаю это через do while то у меня выводиться бесконечное кол-во раз первая запись из первой таблицы, подскажите как реализовать данную задачу.



Спустя 16 минут, 6 секунд (17.03.2009 - 11:15) sergeiss написал(а):
Для начала - в какой книге описана такая структура вывода данных:
(сначала выборка, потом цикл do-while)
PHP
$resultat mysql_fetch_array($query);
 do { 
....
 } 
 while (
$resultat mysql_fetch_array($query));


Найду автора - морду об асфальт размажу mad.gif А эту структуру я вижу тут на сайте с "завидной" регулярностью, и именно у людей, которые только начинают изучать ПХП. Что говорит о том, что они где-то в одном кривом источнике это прочитали.

Проблема в том, что если записей в таблице нету, то будет неопределенность!!! Которая может привести к выводу некорректных данных.

"По уму" надо делать так: (первое считывание данных - только в цикле! Это позволит ничего не выводить, если данных нету)
PHP
while ($resultat mysql_fetch_array($query))
{
// тело цикла
}


Далее. Для вывода данных из другой таблицы после
PHP
$queryd mysql_query ("SELECT name FROM ".$table." "$db);

просто организуй цикл, аналогичный описанному мной чуть выше:
PHP
while( $qw mysql_fetch_array($queryd) )
{
// а тут выводишь всё, что надо, в любом формате
}


Да и можно чуть упростить одну строку - ты же не используешь имя таблицы (переменная $table) нигде, кроме одного места:
PHP
$queryd mysql_query ("SELECT name FROM ".$resultat["Name"]." "$db);

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.