Как упростить?

raizus

Новичок
Как упростить?

Знаю что тупо написано но, как смог.

Скрипт формирует меню вида.

Категория
-----подкатегория
Категория
-----подкатегория
Категория
-----подкатегория

В базе находится в виде.

key - ключ универсальный но не использую.
kod - код категории
zled - код категории, если 0, то это и есть сама категория.

PHP:
$bazcat = mysql_query("select * from catalog where zled=0 order by kod;");

echo '
<div class="sleft">
  <p align="center">Каталог</p>
  <ul>
';

if($bazcat){


	while($cat=mysql_fetch_array($bazcat)){
#------------------создание категорий----------------------------

echo"<li>".$cat['nazvan']."</li>";
$bazpodcat = mysql_query("select * from catalog where zled=".$cat['kod']." order by kod;");

	while($podcat=mysql_fetch_array($bazpodcat)){
			echo "<li>&nbsp;&nbsp;<a href='?id=catalog&raz=".$podcat['kod']."'>".$podcat['nazvan']."</a></li>";

						    }

#--------------конец формирования категорий----------------------
						}
echo '
  </ul>
</div>
';
}
else
{echo mysql_error();}
 

DiMA

php.spb.ru
Команда форума
никогда не используй без крайней нужды запросы в цикле

после
$bazcat = mysql_query("select * from catalog where zled=0 order by kod;")
следует считать результат циклом, накопить $cat['kod'] в массив $sql и выдать еще один запрос типа
$bazpodcat = mysql_query("select * from catalog where zled IN (".implode(", ", $sql).") order by kod;");

еще можно все одним запросом сделать (ну, это мне лень уже думать...)
 

raizus

Новичок
Да вот я так и понял что лучше не использовать запросы в цикле :(
 
Сверху