Hallo,
ich benutze die NestedSet Klasse zum generieren von Navigationsbäumen. Ich habe nun gelesen dass es auch schon eine Klasse gibt, die die Ebene/Tiefe eines Punktes mit in die Datenbank schreibt. Bei meiner Klasse ist das leider noch nicht der Fall.
Nun habe ich bereits mehrere Menüpunkte eingefügt und möchte herausfinden in welche Ebene sich die einzelnen Punkte befinden. Dazu habe ich mich im Netz umgesehen und folgendes Statement gefunden:
Wenn ich das auf meine DB anwende kommen völlig falsche Zahlen raus. Level 20 und noch höher. Das kann aber nicht sein, da ich max. 3 Ebene habe.
Meine DB hat zum Beispiel folgenden Inhalt:
Wie kann ich die Ebenen in meiner Tabelle herausfinden?
Beste Grüße,
Björn
ich benutze die NestedSet Klasse zum generieren von Navigationsbäumen. Ich habe nun gelesen dass es auch schon eine Klasse gibt, die die Ebene/Tiefe eines Punktes mit in die Datenbank schreibt. Bei meiner Klasse ist das leider noch nicht der Fall.
Nun habe ich bereits mehrere Menüpunkte eingefügt und möchte herausfinden in welche Ebene sich die einzelnen Punkte befinden. Dazu habe ich mich im Netz umgesehen und folgendes Statement gefunden:
PHP-Code:
SELECT s.Name, count(*) AS Level
FROM NestedSet v, NestedSet s
WHERE s.l BETWEEN v.l AND v.r
GROUP BY s.l;
Meine DB hat zum Beispiel folgenden Inhalt:
id root_id name lft rgt
7 7 Komplettsets 1 28
9 7 Pumpmarkierer 2 3
20 7 Spyder 4 21
21 7 Spyder Victor 5 6
22 7 Spyder Xtra 7 8
23 7 Spyder TL-X 9 10
24 7 Spyder Rodeo 11 12
25 7 Spyder New Imagine 13 14
26 7 Spyder E-99 Avant 15 16
27 7 Spyder Electra DLX 17 18
28 7 Spyder Fenix 19 20
19 7 Prodigy 22 23
29 7 98 Custom 24 25
30 7 Autococker 26 27
7 7 Komplettsets 1 28
9 7 Pumpmarkierer 2 3
20 7 Spyder 4 21
21 7 Spyder Victor 5 6
22 7 Spyder Xtra 7 8
23 7 Spyder TL-X 9 10
24 7 Spyder Rodeo 11 12
25 7 Spyder New Imagine 13 14
26 7 Spyder E-99 Avant 15 16
27 7 Spyder Electra DLX 17 18
28 7 Spyder Fenix 19 20
19 7 Prodigy 22 23
29 7 98 Custom 24 25
30 7 Autococker 26 27
Beste Grüße,
Björn
Kommentar