Baumstruktur ohne Nested Sets (parent_id Prinzip)

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

  • Baumstruktur ohne Nested Sets (parent_id Prinzip)

    Hallo,

    da mir all die Sucherei nicht hilfreich war und auch mein Köpfchen keine (funktionsfähige) Lösung ausspuckt, bin ich voller Hoffnung, dass mir jemand helfen kann.

    Ich benötige eine Baumstruktur aus einer ganz einfach DB-Tabelle. Da alle Inhalte jedoch nicht als Nested Set angelegt wurden, kann ich diese auch nicht nutzen (der Umbau aller damit zusammenhängender Funktionen wäre zu aufwändig).

    Die Stuktur sieht ca. so aus (es ist ein Menü mit X Ebenen):

    tbl_menue_x:
    id, parent_id, name

    Derjenige, der das irgendwann mal gebastelt hat, ging wohl nicht davon aus, dass das Menü mal vollständig und strukturiert ausgegeben werden soll. (Submenüs werden nur ausgegeben, wenn man auf den entsprechenden Hauptpunkt klickt usw.) Für eine Art SiteMap benötige ich nun jedoch die komplette Struktur und will dafür natürlich nicht bei jedem Menüpunkt eine Abfrage absetzen, ob Unterpunkte vorhanden sind.

    Lässt sich das mit einer Abfrage irgendwie realisieren? Und wenn nicht, wie löst man solche Dinge mit PHP (ja, falsches Forum, aber doppelt posten ist wohl auch nicht gut)? Vermutlich mit Rekursion? Nur leider stehe ich bei Arrays und Rekursion gleich zweimal auf dem Schlauch.

    pb

  • #2
    such mal nach "menu_menu" hier im Forum, da brauchste nur noch eine 2. Tabelle erzeugen, und kannst all die schönen Dinge machen
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Nach menu_menu hatte ich bereits gesucht, nachdem ich auf diesen Hinweis einige Male gestoßen war. Hilfreich fand ich es nicht, da eine zweite Tabelle verwendet wurde und ich davon ausging, dass es eine Möglichkeit ohne dieser Hilfstabelle gibt. Nun bin ich schlauer, vielen Dank.

      Mit der Lösung von Wurzel und ein paar Anpassungen klappt es wunderbar, wenn auch ziemlich langsam. Spielt jedoch keine Rolle in diesem Fall

      Kommentar


      • #4
        Original geschrieben von plastikbaum
        Mit der Lösung von Wurzel und ein paar Anpassungen klappt es wunderbar, wenn auch ziemlich langsam. Spielt jedoch keine Rolle in diesem Fall
        dann hast du fehlende, falsche Indizes oder eine schlecht formulierte SQL Anweisung,
        bei mir dauern selbst 10.000 Einträge mit bis zu 10 Menüebenen nicht mehr als 5ms
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Hallo pb,

          auf dieser Seite findest Du genau, was Du suchst:

          http://it.galantus.com/php-treeview-en.php bzw.
          http://it.galantus.com/php-treeview-de.php

          Gruss,

          maddalosso

          Kommentar

          Lädt...
          X