mata bara ut catname
när det ändras. Du måste också beställa din fråga efter kategorinamn först.
$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>";
Edit:Läs bara frågan igen och vill säga att när det kommer till hierarkiska träd är det inte den bästa metoden att använda en förälder/barn (eller kategori/sub/subsub). Även om det fungerar, kräver det vanligtvis flera frågor och rekursiva funktioner för visning. Ett bättre tillvägagångssätt är att använda den kapslade uppsättningen som är gjord för just detta ändamål.