Hallo,
ich hab in letzter Zeit einiges mit Nested Sets rumexperimentiert und bin soweit gekommen das ich Problemlos eintragen, ändern und löschen kann! Auch das Auslesen des gesamten Baumes funktioniert einwandfrei!
Nun habe ich aber folgendes Problem:
Ich habe eine Tabelle in der Form „ID, NAME, LINKS, RECHTS“
Ich ermittle über die ID die LINKS und RECHTS und kann so alle unterknoten auslesen! Soweit kein Problem! Aber ich will eben gar nicht alle unterknoten sondern nur die in der nächsten ebene! Z.B.
HAUPTNKOTEN
--UNTERKNOTEN 1
----UNTERKNOTEN4
----UNTERKONTEN5
--UNTERKNOTEN 2
--UNTERKNOTEN 3
Also möchte ich eigentlich die UNTERKNOTEN 1-3 auslesen und nicht mehr oder weniger! Das mache ich so:
$ausgeleseneslinks/rechts enthalten dabei die LINKS und RECHTS werte des HAUPTKNOTEN!
Soweit ist das auch kein Problem! Nur ich habe über die ID noch CONTENT mit den KNOTEN verknüpft! Nun möchte ich noch zählen wie viel CONTENT sich in den UNTERKNOTEN samt allen deren UNTERKNOTEN befindet!
Beispiel:
HAUPTKNOTEN
---UNTERKNOTEN1 (5xCONTENT)
-----UNTERKNOTEN4 (50xCONTENT)
-----UNTERKNOTEN5 (5xCONTENT)
---UNTERKNOTEN2 (5xCONTENT)
---UNTERKNOTEN3 (5xCONTENT)
Mein Script soll dann beim HAUPTKNOTEN 70xCONTENT, beim UNTERKONTEN1 60xCONTENT und bei den UNTERKNOTEN 4/5 jeweils 5xCONTENT anzeigen!
Hat jemand Tipps oder so parat? Ich weiß nicht mehr weiter! Alles was ich ausprobiert habe endet in MYSQL-Fehlermeldungen!
Ich bin etwa soweit gekommen
Gruß
Sascha
ich hab in letzter Zeit einiges mit Nested Sets rumexperimentiert und bin soweit gekommen das ich Problemlos eintragen, ändern und löschen kann! Auch das Auslesen des gesamten Baumes funktioniert einwandfrei!
Nun habe ich aber folgendes Problem:
Ich habe eine Tabelle in der Form „ID, NAME, LINKS, RECHTS“
Ich ermittle über die ID die LINKS und RECHTS und kann so alle unterknoten auslesen! Soweit kein Problem! Aber ich will eben gar nicht alle unterknoten sondern nur die in der nächsten ebene! Z.B.
HAUPTNKOTEN
--UNTERKNOTEN 1
----UNTERKNOTEN4
----UNTERKONTEN5
--UNTERKNOTEN 2
--UNTERKNOTEN 3
Also möchte ich eigentlich die UNTERKNOTEN 1-3 auslesen und nicht mehr oder weniger! Das mache ich so:
PHP-Code:
SELECT a.id, a.name
FROM kategories AS a
WHERE a.links BETWEEN $ausgeleseneslinks+1 AND $ausgelesenesrechts-1 AND a.rechts BETWEEN $ausgeleseneslinks +1 AND $ausgelesenesrechts -1
GROUP BY a.id
ORDER BY a.links ASC
Soweit ist das auch kein Problem! Nur ich habe über die ID noch CONTENT mit den KNOTEN verknüpft! Nun möchte ich noch zählen wie viel CONTENT sich in den UNTERKNOTEN samt allen deren UNTERKNOTEN befindet!
Beispiel:
HAUPTKNOTEN
---UNTERKNOTEN1 (5xCONTENT)
-----UNTERKNOTEN4 (50xCONTENT)
-----UNTERKNOTEN5 (5xCONTENT)
---UNTERKNOTEN2 (5xCONTENT)
---UNTERKNOTEN3 (5xCONTENT)
Mein Script soll dann beim HAUPTKNOTEN 70xCONTENT, beim UNTERKONTEN1 60xCONTENT und bei den UNTERKNOTEN 4/5 jeweils 5xCONTENT anzeigen!
Hat jemand Tipps oder so parat? Ich weiß nicht mehr weiter! Alles was ich ausprobiert habe endet in MYSQL-Fehlermeldungen!
Ich bin etwa soweit gekommen
PHP-Code:
SELECT a.id, COUNT(*) - 1 AS anzahl, a.name
FROM kategories AS a
LEFT JOIN content AS b ON a.id = b.id
WHERE a.links
BETWEEN $ausgeleseneslinks AND $ausgelesenesrechts AND a.rechts
BETWEEN $ausgeleseneslinks AND $ausgelesenesrechts
GROUP BY a.id
ORDER BY a.links ASC
Sascha