извежда само catname
когато се промени. Също така ще трябва първо да подредите заявката си по име_на категория.
$row = mysql_fetch_array($result);
$catname = $row["category_name"];
$subcatname = $row["subcategory_name"];
$last = $catname;
echo "<li>$catname</li><ul>"
while($row = mysql_fetch_array($result)) {
$catname = $row["category_name"];
$subcatname = $row["subcategory_name"];
if($last != $catname){
echo "</ul><li>$catname</li><ul>"
}
echo "<li>$subcatname</li>";
$last = $catname;
}
echo "</ul>";
Редактиране:Просто прочетете отново въпроса напълно и искате да кажете, че когато става въпрос за йерархични дървета, използването на родител/дете (или категория/под/подподраздел) не е най-добрият метод. Въпреки че работи, обикновено изисква множество заявки и рекурсивни функции за показване. По-добър подход е да използвате вложен набор който е направен точно за тази цел.