[MySQL 4.0.23] Menüstruktur in MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.0.23] Menüstruktur in MySQL

    Ich habe ein Problem bei einer für mich sehr komplizierten MySQL-Abfrage.

    Ich möchte eine Menüstruktur in einer Datenbank speichern.
    Ich will 2 Tabellen benutzen.

    In der ersten Tabelle sind die einzelnen Menüpunkte aufgelistet
    (Bezeichnung, Beschreibung)

    id | name | beschreibung
    ----------------------------------
    01 | menü1| Beschreibung für menü1
    02 | menü2| Beschreibung für menü2
    03 | menü3| Beschreibung für menü3
    04 | menü4| Beschreibung für menü4
    05 | menü5| Beschreibung für menü5
    06 | menü6| Beschreibung für menü6
    07 | menü7| Beschreibung für menü7

    In der zweiten Tabelle ist die Beziehung der einzelnen Menüpunkte zu einander abgebildet.
    Also in Haupt- und Unterkategorien. (main bzw. sub)

    id | main | sub
    -----------------
    01 | 01 | 02
    02 | 01 | 03
    03 | 02 | 04
    04 | 03 | 05
    05 | 04 | 06

    Das Menü sollte dann z.B. so aussehen:

    menü1
    ->menü2
    ->->menü4
    ->->->menü6
    ->menü3
    ->->menü5
    menü7


    Das Problem:
    Wenn ich z.B. die ID von menü6 (06) aus der ersten Tabelle habe, wie bekomme ich alle "Überkategorien" von menü6 raus?
    Wobei die Tiefe eines Menüpunkts beliebig sein sollte.

    Irgendwie rekrusiv?

    Ich würde mich über Tipps freuen. Datenbankversion: MySQL 4.0.23

    cu messingfeld

  • #2
    schon mit "nested sets" beschäftigt?
    Kissolino.com

    Kommentar


    • #3
      Ne, aber ich wäre für alle Tipps offen.

      cu messingfeld

      Kommentar


      • #4
        http://www.php-resource.de/tutorials/read/21/1/
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          1.) Danke für die Tipps. Das klappt schon mal super. Und ich kapieres es sogar einigermaßen.

          ABER:
          Ich würde es gerne so haben:

          Wenn ich auf einen Menüpunkt, z.B. menü2 klicke, möchte ich gerne nur die Elternteile (menü1, menü7) , Geschwister (menü3) und die eigenen direkten Kinder (menü4) anzeigen lassen, also wie z.B. im Windows-Explorer.

          Beispiel:

          menü1
          ->menü2
          ->->menü4
          ->->->menü6
          ->menü3
          ->->menü5
          menü7

          (Die nicht hervorgehobenen Punkte sollen nicht angezeigt werden)

          Ich kriege irgendwie keine Beziehungen zwischen Menüpukt, Elternteile, Geschwister und eigene Kinder über Nested Sets hin.

          Das einzigste was mir einfallen würde, wäre die Tiefe des Menüpunkt abzufragen,
          ABER diese Tiefe (das Level) kann ja mehrmals in verschiedenen Elternteile kommen. Also fällt das schon wieder weg, oder?

          Ich wäre für einen weiteren Denkanstoss sehr dankbar

          cu messingfeld
          Zuletzt geändert von messingfeld; 30.09.2005, 10:19.

          Kommentar

          Lädt...
          X