ik ben bezig met een boomstructuur (http://www.compazg.nl/new/admin) ...elk item komt uit de database, op deze manier kunnen straks mensen dynamisch hun eigen pagina's toevoegen aan hun site... het probleem is nu dat ik dus alle items uit de DB moet halen. Omdat de strctuur in principe oneindig door kan gaan moet er een loopje zijn die alles uit de DB haalt, hierbij wil ik dus het in een functie gooien ...
zoals je kan zien haal ik met de functie een bepaalde laag uit de database. Een laag heeft altijd een navigatieID en deze bepaalt onder welk item die laag valt. wanneer het dus om een folder gaat, moet de functie weer worden uitgevoerd zoals boven in het script staat.
Het probleem is dus nu dat de queryA word overschreden bij de volgende functie-aanroep, terwijl de vorige nog niet is afgerond ... hoe voorkom ik dit?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| function showItem ($itemID) { $queryA = mysql_query ("SELECT * FROM navigatie WHERE navigatieID = '$itemID' ORDER BY type DESC"); $lengthA = mysql_num_rows($queryA); if ($lengthA > 0) { $countA = 1; while ($menu = mysql_fetch_array($queryA)) { $naam = "0".$countA; $top = 27 + (16 * $countA); echo "\t<div id=\"layer".$naam."\" style=\"position: absolute; left:6; top:".$top.";\">\n"; echo "\t\t<script>layers = layers.concat ('".$naam."'); hoogtes = hoogtes.concat ('".$top."');</script>\n"; if ($menu["type"] == "folder") $picture = "<a href=\"#\" onclick=\"determineOpenOrClose('".$naam."')\" class=\"map\">[img]\"images/map_closed.gif\"[/img]"; else $picture = "<a href=\"#\" onclick=\"selectFile('".$naam."')\" class=\"map\">[img]\"images/file_normal.gif\"[/img]"; if ($countA < $lengthA) echo "\t\t[img]\"images/connect_middle.gif\"[/img]".$picture." ".$menu["naam"]."</a>\n"; else if ($countA == $lengthA) echo "\t\t[img]\"images/connect_end.gif\"[/img]".$picture." ".$menu["naam"]."</a>\n"; echo "\t</div>\n\n"; if ($menu["type"]=="folder") showItem ($menu["ID"]); } } } |
zoals je kan zien haal ik met de functie een bepaalde laag uit de database. Een laag heeft altijd een navigatieID en deze bepaalt onder welk item die laag valt. wanneer het dus om een folder gaat, moet de functie weer worden uitgevoerd zoals boven in het script staat.
Het probleem is dus nu dat de queryA word overschreden bij de volgende functie-aanroep, terwijl de vorige nog niet is afgerond ... hoe voorkom ik dit?