Hallo,
das Problem "Nested Sets" wurde hier zwar schon ein paarmal diskutiert, aber leider habe ich für mein Problem noch keine Losung gefunden.
Tabellenstruktur "tbl_menu"
-----------------------------------------------------------
-----------------------------------------------------------
Ausgabe des gesamten Baumes über die Query
-----------------------------------------------------------
-----------------------------------------------------------
Die Ausgabe, die ich erreichen will:
Beispiel:
Bei Klick auf Schnaps soll das nächste Level unter Schnaps ausgegeben werden.
Außerdem soll man alle "Brüder" [Biere] und den "Vater" [Alkoholika] von Schnaps, sowie die "Brüder
des Vaters" [Alkoholfrei] angezeigt bekommen.
Habe schon einiges probiert, komme aber nie auf das gewünschte Ergebnis!
...wäre schön, wenn mir jemand weiterhelfen könnte.
Ich hoffe das Beispiel ist anschaulich genug!
Ciao, KaiCrow
das Problem "Nested Sets" wurde hier zwar schon ein paarmal diskutiert, aber leider habe ich für mein Problem noch keine Losung gefunden.
Tabellenstruktur "tbl_menu"
Code:
node_id menu lft rgt --------------------------------------------- 1 Shop 1 24 2 Alkoholika 2 19 3 Alkoholfrei 20 23 4 Biere 3 8 5 Schnaps 9 18 6 hochprozentig 10 15 7 LowProzent 16 17 8 Grasovska 11 12 9 Korn 13 14 10 Landskron 4 5 11 Radeberger 6 7 12 O-Saft 21 22
-----------------------------------------------------------
Ausgabe des gesamten Baumes über die Query
Code:
"SELECT node1.node_id,node1.lft,node1.rgt,node1.beschreibung,COUNT(*) AS level FROM tbl_menu AS node1,tbl_menu AS node2 WHERE node1.lft BETWEEN node2.lft AND node2.rgt GROUP BY node1.LFT" nodeID lft rgt level menupunkt ----------------------------------------------------------- 1 1 24 1 Shop 2 2 19 2 |---Alkoholika 4 3 8 3 |---|---Biere 10 4 5 4 |---|---|---Landskron 11 6 7 4 |---|---|---Radeberger 5 9 18 3 |---|---Schnaps 6 10 15 4 |---|---|---hochprozentig 8 11 12 5 |---|---|---|---Grasovska 9 13 14 5 |---|---|---|---Korn 7 16 17 4 |---|---|---LowProzent 3 20 23 2 |---Alkoholfrei 12 21 22 3 |---|---O-Saft
-----------------------------------------------------------
Die Ausgabe, die ich erreichen will:
Beispiel:
Bei Klick auf Schnaps soll das nächste Level unter Schnaps ausgegeben werden.
Außerdem soll man alle "Brüder" [Biere] und den "Vater" [Alkoholika] von Schnaps, sowie die "Brüder
des Vaters" [Alkoholfrei] angezeigt bekommen.
Code:
nodeID lft rgt level menupunkt ----------------------------------------------------------- 1 1 24 1 Shop 2 2 19 2 |---Alkoholika 4 3 8 3 |---|---Biere 5 9 18 3 |---|---Schnaps 6 10 15 4 |---|---|---hochprozentig 7 16 17 4 |---|---|---LowProzent 3 20 23 2 |---Alkoholfrei ----------------------------------------------------------- -----------------------------------------------------------
...wäre schön, wenn mir jemand weiterhelfen könnte.
Ich hoffe das Beispiel ist anschaulich genug!
Ciao, KaiCrow
Kommentar