Stammbaum laden in einer mySQL-Anweisung?

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

  • Stammbaum laden in einer mySQL-Anweisung?

    Mal eine Frage an die echten mySQL-Cracks hier.

    In einer Tabelle, die eine Baumstruktur abbildet, abgekürzt so:

    id / parent / name

    Muß ich beim Laden des aktuellen Objekts (z.B. id = 100) immer den Stammbaum mitladen, um aus diesem Informationen zu ziehen, die nicht im aktuellen Objekt gesetzt sind (z.B. Rechte-Bits) und implizit vom nächsten Ahnen oder Urahnen geerbt werden.
    Dieses Laden findet im Moment in PHP statt (also lade aktuelles Element, finde Parent raus, lade diesen, finde dessen Parent raus usw, bis das Element mit der ID "ROOT" erreicht wurde).

    Aus Performancegründen (und Neugier) meine Frage: Läßt sich dieser Vorgang irgendwie in ein mySQL-Statement packen? Und der Stammbaum dann aus dem Resultset auslesen? Auch nach längerem Überlegen wüßte ich nicht, wie.

  • #2
    hast du dir mal überlegt die Struktur zu ändern?

    Siehe Nested Sets

    cu
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Jetzt ja Es ist nur so, daß in dem Baum relativ viel rumgefuhrwerkt wird (Also neue Zweige angelegt, bewegt, umsortiert). Soweit ich das Modell verstanden hab, ist es für so ein Szenario nicht die beste Lösung, weil jeweils der gesamte Baum aktualisiert werden muß.

      Trotzdem danke für den Link! Das ist seehr lecker.

      Kommentar


      • #4
        ansonsten such mal hier nach tbts "menu_has_menu" ... ist imho schöner als nested sets und lässt sich recht gut manipulieren.
        Kissolino.com

        Kommentar

        Lädt...
        X