Získáváte očekávaný výsledek. Pokud máte sadu výsledků a,b,c,d
, začínáte na a
což je nadřazená kategorie, takže se přetočí na začátek sady a iteruje přes a,b,c,d
opět jako podkategorie. Nyní jste na konci sady, takže obě smyčky budou ukončeny, protože již nejsou žádná data.
Pravděpodobně budete chtít nejprve načíst všechna data do pole PHP, poté to iterovat a vytvořit nějakou stromovou strukturu. Můžete také být schopni vytvořit svou stromovou strukturu přímo ve smyčce mysql_fetch.
V závislosti na tom, čeho se snažíte dosáhnout, existují také lepší způsoby ukládání dat. Stojí za to si přečíst, jak ukládat stromy a hierarchická data v SQL. Vnořené sady jsou pravděpodobně to, co chcete.
Ještě jedna věc:nepoužívejte mysql_fetch_array
, použijte mysql_fetch_assoc
namísto. Jinak skončíte s numerickými a asociativními klíči a řádkovým polem, které obsahuje dvojnásobné množství dat, než by mělo.