Stephan Kirchlechner: Baumstruktur verwalten

Hallo zusammen!

Ich möchte mit PHP und MySQL eine Maske programmieren, um eine Baumstruktur zu verwalten.

Der Baum könnte z.B. folgendermaßen aussehen:

Europa
                                 |
             -----------------------------------------
             |                   |                   |
        Deutschland         Österreich            Schweiz
             |                   |                   |
     ------------         -----------             ----------
     |          |         |         |             |        |
  Berlin     München     Wien    Salzburg       Basel    Genf

Das ist nur ein Beispiel, meine Anforderung dreht sich auch nicht um Geographie. Auch die Tiefe des Baumes spielt keine Rolle, bei mir sind es im Moment sechs Ebenen.

Über die Maske soll es möglich sein, an beliebigen Stellen im Baum neue Äste "einzuhängen" bzw. bestehende Äste zu löschen.

Natürlich kann man sowas von Grund auf neu programmieren. Allerdings war ich mir sicher, daß es für so ein Standardproblem bereits fertige Lösungen geben müßte. Nach einigen Stunden Recherche bin ich aber auf keine anständigen Ansätze für dieses Problem gestoßen. Am ehesten passt noch PEAR-Package "Tree", aber damit hab ich auch nur die Basisfunktionen an der Hand und muß mir noch meine Maske drumherumstricken.

Kennt hier jemand was Passendes für mich oder muß ich mich selbst an die Arbeit machen? Wie gesagt, nach Möglichkeit in PHP und MySQL. MySQL ist zwingend, PHP könnte auch durch Java ersetzt werden.

Vielen Dank
Stephan

  1. hi,

    Der Baum könnte z.B. folgendermaßen aussehen:

    Europa 0
                                     |
                 -----------------------------------------
                 |                   |                   |
            Deutschland 1       Österreich 2          Schweiz 3
                 |                   |                   |
         ------------         -----------             ----------
         |          |         |         |             |        |
      Berlin     München     Wien    Salzburg       Basel    Genf
        1.1        1.2        2.1      2.2            3.1      3.2

    meine Ergänzungen siehe Baum. Die Reduktion der Hierarchie auf Nummern like 1.2.3 bringt einige Vorteile hinsichtlich Programmiertechnik und Skalierbarkeit.

    Viele Grüße,
    Hotte

  2. echo $begrüßung;

    Ich möchte mit PHP und MySQL eine Maske programmieren, um eine Baumstruktur zu verwalten.
    Auch die Tiefe des Baumes spielt keine Rolle, bei mir sind es im Moment sechs Ebenen.
    Über die Maske soll es möglich sein, an beliebigen Stellen im Baum neue Äste "einzuhängen" bzw. bestehende Äste zu löschen.

    Ein passendes Suchstichwort wäre Nested Sets. Auch PEAR hat da was im Angebot, der Wikipedia-Artikel linkt darauf.

    echo "$verabschiedung $name";

    1. Hallo Dedlfix,

      Ein passendes Suchstichwort wäre Nested Sets. Auch PEAR hat da was im Angebot, der Wikipedia-Artikel linkt darauf.

      danke für den Hinweis!
      Auf den ersten Blick könnte da tatsächlich was brauchbares dabei sein.

      Grüße
      Stephan