[PHP] Bäume

Enigma

Captain Pro
Registriert
Apr. 2004
Beiträge
4.005
Ich hab mir in der Datenbank einen netten Baum aufgebaut.

Code:
| id | parent_id |
==================
|  1 | NULL
|  2 | 1
|  3 | 1
|  4 | 2
|  5 | 2

Wie gestalte ich den Code am effizientesten um den Baum im Select-Feld unterzubringen? Hat das schonmal jemand gemacht? Gibt es da nen schönen Rekursiven-Algorithmus den ich nehmen könnt?

Aussehen sollte es im Endeffekt so:
Code:
1
--2
----4
----5
--3
 
An dieser Stelle sei zu Thema Bäume in SQL mal hierauf verwiesen --> http://kris.koehntopp.de/artikel/sql-self-references/ eventuell ist für dein Problem das Baum-Modell gar nicht mal so optimal (ja das Nested-Modell hat auch Nachteile, man muss halt abwägen)

btw. Rekursion gibt es in reinem SQL nicht und um deine Frage nach der Effizienz zu beantworten wäre ein konkreter Fall eventuell recht hilfreich.

Und noch mal etwas zum Thema Bäume: http://www.codeproject.com/cs/database/Trees_in_SQL_databases.asp
 
Zuletzt bearbeitet:
Danke für die Links.

Der 1. Link kümmert sich leider ausschließlich um Binärbäume, was ich jedoch nicht habe.

Der 2. Link ist praktisch eine Transitive Hülle (hier: Tree) die über die Nodes gelegt wird. Auch nicht ganz blöd - müsste ich mir mal überlegen, ob das Sinn macht - und ob das mySQL überhaupt mit den ganzen Triggern einwandfrei kann.
 
Zurück
Oben