Shinigami: MySQL: Einfaches Menü mit Untermenüs in einem Query?

Hi,

ich habe eine Tabelle mit 3 Spalten: name, ID (unique), parent_id

Darin sind Menüpunkte und Untermenüpunkte eingetragen. Es sollte nur eine Verzweigung geben, tiefer muss das Menü nicht gehen.
Das Ganze soll dann in einer Dropdown Liste ausgegeben werden, wobei die Untermenüs etwas eingerückt werden sollen. Mit mehreren Abfragen ist das kein Problem.
Allerdings frage ich mich jetzt ob das auch mit einer Abfrage zu lösen ist. Die parent_id ist bei Hauptmenüpunkten 0, bei Untermenüpunkten ist es die ID des Hauptmenüpunktes.

Ich habe schon mit Joins herumprobiert, ohne Erfolg (mittlerweile auch logisch). Hat jemand eine Idee wies gehen könnte (falls es geht)? Die Möglichkeit zu Subselects habe ich.

Gruß, Shinigami

  1. select * from table; ?

    1. select * from table; ?

      ...
      Und wie soll ich das in die richtige Reihenfolge bringen ohne erst wieder alles in PHP zu sortieren? :P

      1. Hallo,

        Und wie soll ich das in die richtige Reihenfolge bringen ohne erst wieder alles in PHP zu sortieren? :P

        Schau mal unter diesen Treffern nach.. Dort solltest Du fündig werden..

        MfG
        Wonnemollchen

      2. select * from table; ?

        ...
        Und wie soll ich das in die richtige Reihenfolge bringen ohne erst wieder alles in PHP zu sortieren? :P

        Ah, ich glaub ich stand auf der Leitung...

        Wenns nicht mehr als 2 Ebenen sind könnt das da gehn.

        select id, name, if(parent > 0, parent, id) as orderby, parent from tabelle order by orderby;

    2. Hallo,

      select * from table; ?

      Nein,  das was er meint ist das rekursive Auslesen von Daten
      aus der Datenbank.

      Gruß
      Wollknoll