sql >> Database teknologi >  >> RDS >> Mysql

PHP - problem med indlejret mysql_fetch_array() der driver mig til vanvid

Du får det forventede resultat. Hvis du har resultatsættet a,b,c,d , du starter med a som er en overordnet kategori, så den spoler tilbage til starten af ​​sættet og itererer gennem a,b,c,d igen som underkategorier. Nu er du ved slutningen af ​​sættet, så begge sløjfer forsvinder, da der ikke er flere data.

Hvad du sandsynligvis vil gøre, er at læse alle data ind i et PHP-array først, derefter gentage det og bygge en slags træstruktur. Du kan muligvis også bygge din træstruktur direkte i mysql_fetch-løkken.

Afhængigt af hvad du forsøger at opnå, er der også bedre måder at gemme dine data på. Det er værd at læse op på, hvordan man gemmer træer og hierarkiske data i SQL. Indlejrede sæt er sandsynligvis, hvad du ønsker.

En anden ting:Brug ikke mysql_fetch_array , brug mysql_fetch_assoc i stedet. Ellers ender du med numeriske og associative taster og en række-array, som indeholder den dobbelte mængde data, den burde.



  1. MySQL PHP - VÆLG HVOR id =array()?

  2. Sådan formateres tal i videnskabelig notation i Oracle

  3. Asynkrone databaseindsættelser - python + mysql

  4. Sådan får du alder i år, måneder og dage ved at bruge Oracle