Toon posts:

[php] tree strcuture uit DB

Pagina: 1
Acties:

Verwijderd

Topicstarter
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 ...

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."&nbsp;".$menu["naam"]."</a>\n";
            else if ($countA == $lengthA)
                echo "\t\t[img]\"images/connect_end.gif\"[/img]".$picture."&nbsp;".$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?

Verwijderd

Vaag ... in mijn ogen zou dit gewoon moeten werken ... en ik zie ook niets mis in de door jou opgegeven link. Wat gaat er precies mis? Wat is het gevolg?

Verwijderd

Topicstarter
't werkt ... close thistopic please

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:44

gorgi_19

Kruimeltjes zijn weer op :9

Zou je misschien ook kunnen zeggen hoe je het nu hebt opgelost? Is leuk voor de search later...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

idd.. wil het ook graag weten .. Patrick sjek je mail ff :D

Verwijderd

Topicstarter
ik zit nu op mijn werk, kan mijn mail niet checken ... stuur anders naar p.pietens@tmlc.com ...

Verwijderd

Verwijderd schreef op 02 oktober 2002 @ 15:35:
ik zit nu op mijn werk, kan mijn mail niet checken ... stuur anders naar p.pietens@tmlc.com ...
Check your mail :D

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
er zit een fout in die tree. Wanneer je een node collapse en deze heeft expanded nodes dan gaat het mis.
Pagina: 1