Hi
ich habe gerade ein Problem mit der Logik einer MySQL-Abfrage. Ich habe ein tabelle "categories". Darin sind viele Felder, es geht allerdings nur um zwei davon, nämlich "cat_id" und "parent_id". Durch diese soll gewährleistet werden, unendlich viele Unterkategorien verschiedenster Ebene zu erstellen.
In cat_id steht immer eine unterschiedliche Nummer, jede Kategorie, egal ob Über- oder Unterkategorie, haben eine eindeutige Nummer. In parent_id steht die id der Überkategorie. Überkategorien haben die parent_id 0.
Vom Prinzip logisch. Aber in der Praxis die dann abzufragen und auszugeben stellt sich als enorm schwierig dar.
Ich möchte jetzt aus diesen zwei Feldern alle Kategorien auslesen, eine Baumstruktur erstellen.
Die Tabelle sieht jetzt so aus:
| cat_id | parent_id | title |
---------------------------------
| 001 | 0 | PC |
| 002 | 0 | Autos |
| 003 | 002 | VW |
| 004 | 002 | Audi |
| 005 | 002 | Mercedes |
| 006 | 002 | Toyota |
| 007 | 001 | Software |
| 008 | 001 | Hardware |
| 009 | 007 | Programme |
| 010 | 009 | Windows |
| 011 | 009 | Linux |
| 012 | 008 | CPU |
| 013 | 008 | Board |
| 014 | 008 | Karten |
| 015 | 012 | Grafik |
| 016 | 012 | TV |
| 017 | 012 | Modem |
| 018 | 012 | LAN |
| 019 | 012 | Kombi |
Raubekommen will ich, wie gesagt, eine Baumstruktur, und zwar in einer <select>-Scrolldownbox.
Reicht dafür eine MySQL-Abfrage, oder braucht man mehrere? Je weniger desto besser, weil die Anwendung die ich programmiere wird viel benutzt und der Absturz des Servers wäre die Folge.
Danke für die Bemühungen
Viele Grüße
Domenik Strasser