Beste mede tweakers,
Ik heb een (klein) probleem met het onderstaande tabelletje.
id | int(11)
parent_id | int(11)
naam | varchar(25)
In dit tabelletje staan allerlei categorieen. Via de parent_id wordt bepaald onder welke categorie een subcat valt. De tabel wordt bv gevuld met de volgende data :
0 | 0 | Top
2 | 0 | Mainboards
3 | 2 | Pentium II/III
4 | 2 | Pentium 4
7 | 3 | Asus
6 | 3 | Chaintech
8 | 3 | Abit
9 | 2 | AMD Athlon/Duron
10 | 4 | Chaintech
11 | 4 | Asus
12 | 9 | Abit
Als ik nu de volgende functie er oplost gaat, gaat alles opzich goed. Ik krijg nu netjes een lijst met de categorieen en subcat. etc.
function print_categorieen($pid)
{$query = db_query("SELECT * FROM categories WHERE parent_id = $pid");
while ($cat = db_fetch_object($query)) {
print ($cat->naam."<BR>");
if ($cat->id != $pid) { print_categorieen($cat->id); }
}
}
Maar nu wil zo'n hierarchies (??) menu zetten met van die plussen en minnen er voor zodat kunt zie waar nog subcats zitten. Daarvoor moet ik echter weten op welk level een categorie zich bevind en dat krijg ik niet voor elkaar.
Weet iemand hier een oplossing voor ??
Ik heb een (klein) probleem met het onderstaande tabelletje.
id | int(11)
parent_id | int(11)
naam | varchar(25)
In dit tabelletje staan allerlei categorieen. Via de parent_id wordt bepaald onder welke categorie een subcat valt. De tabel wordt bv gevuld met de volgende data :
0 | 0 | Top
2 | 0 | Mainboards
3 | 2 | Pentium II/III
4 | 2 | Pentium 4
7 | 3 | Asus
6 | 3 | Chaintech
8 | 3 | Abit
9 | 2 | AMD Athlon/Duron
10 | 4 | Chaintech
11 | 4 | Asus
12 | 9 | Abit
Als ik nu de volgende functie er oplost gaat, gaat alles opzich goed. Ik krijg nu netjes een lijst met de categorieen en subcat. etc.
function print_categorieen($pid)
{$query = db_query("SELECT * FROM categories WHERE parent_id = $pid");
while ($cat = db_fetch_object($query)) {
print ($cat->naam."<BR>");
if ($cat->id != $pid) { print_categorieen($cat->id); }
}
}
Maar nu wil zo'n hierarchies (??) menu zetten met van die plussen en minnen er voor zodat kunt zie waar nog subcats zitten. Daarvoor moet ik echter weten op welk level een categorie zich bevind en dat krijg ik niet voor elkaar.
Weet iemand hier een oplossing voor ??