wypisz tylko catname
kiedy to się zmieni. Musisz również najpierw uporządkować zapytanie według nazwy_kategorii.
$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>";
Edycja:po prostu ponownie przeczytaj pytanie w całości i chcę powiedzieć, że jeśli chodzi o drzewa hierarchiczne, użycie rodzica/podrzędnego (lub kategorii/podrzędnej/podpodrzędnej) nie jest najlepszą metodą. Chociaż to działa, zwykle wymaga wielu zapytań i funkcji rekurencyjnych do wyświetlenia. Lepszym podejściem jest użycie zestawu zagnieżdżonego który jest stworzony dokładnie w tym celu.