So eine Art Baumstruktur

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

  • So eine Art Baumstruktur

    Hallo zusammen,

    habe mal wieder ein Problemchen, das mich zur Verzweiflung bringt.

    Also folgende Situation: ich versuche ein Script in PHP zu schreiben, das mir Datensätze aus einer MySQL Datenbank ausgibt, welche zu Gesprächsverläufen gehören und in einer Art Baumstruktur dargestellt werden sollen.

    Das ganze liegt folgendermassen in der DB vor:

    talk_id (eindeutige ID des Gesprächstextes)
    talk_text (Anzuzeigender Text)
    talk_answers (anzahl der vohandenen Antwortmöglichkeiten 1-4)
    talk_answer[x]_text (text für Antwortmöglichkeit 1)
    talk_answer[x]_ziel (0=Gesprächsende xx=talk_id eines weiterführenden Gesprächsteils)

    So, also jeder Text hat zwischen 1 und 4 Antwortmöglichkeiten.
    jede Antwortmöglichkeit kann entweder das Gespräch beenden oder zu einem neuen Eintrag der exakt so aufgebaut ist weiterführen, also wieder mit bis zu 4 Antwortmöglichkeiten, diese wieder ...... u.s.w. und so fort.

    Ich hoffe ich konnte das einigermassen verständlich ausführen wie ich das meine

    Nun habe ich versucht das irgendwie mit Schleifen zu lösen.

    Ich dachte mir die Darstellung in etwa so :

    Gespächstext
    -> Antwort 1
    -> Antwort 1 Ziel
    --> Ziel 1 text
    ----> Antwort 1
    ----> Antwort 1 Ziel
    -> Antwort 2
    -> Antwort 2 Ziel
    u.s.w.

    Ich habe nun inzwischen 4 mal neu angefangen und nie hat es funktioniert.

    Die Gespräche können wie gesagt eine unbekannte Tiefe haben, was sich ja aus obiger Konstruktion ergibt und worin auch mein Problem begraben liegt, da ich hierfür, nach meinen bisherigen Konstruktionen, unendlich tief verschachtelte Schleifen bauen müsste und das kanns ja nu nicht sein

    Hat jemand einen Lösungsansatz für mich der mich etwas weiterbringt?

    Ist die Idee mit einer Schleife grundlegend richtig?
    Oder sollte ich so etwas völlig anders lösen?

    Danke schonmal,
    Darky
    - Carpe Noctem -

  • #2
    http://www.google.de/search?hl=de&q=...l%22+sql&meta=

    oder eben "nested sets" (ist aber recht kompliziert für anfänger).

    dann bringst du deine struktur zu einem dieser modelle und googlest noch mal.

    Kommentar


    • #3
      Hi,

      also nachdem was ich mir da bisher so durchgelesen habe, scheint ja nur das Nested-Set Modell wirklich sinnvoll zu sein.

      Allerdings bin ich damit momentan noch etwas mit überfordert, habe auch noch keinerlei "gehversuche" in dieser Richtung unternommen.

      Ich werde also mal versuchen, ob ich das verstehe was man da so lesen kann und ich in der Lage bin, eine entsprechende Struktur aufzubauen.

      Edit: Mein verständisproblem hängt aktuell schon dabei, das ich rein garnicht verstehe wie ich da angeblich direkt feststellen kann wieviele "kinder" so ein Baum hat.
      Vor allen dinge ist es ja so, das sich bestimmte zweige der Bäume bei mir noch ändern können, dann sind doch die in den Eltern eingetragenen Werte doch schon wieder falsch?
      Komme damit noch rein garnicht klar, leider.


      Darky
      Zuletzt geändert von DarkWanderer; 07.09.2005, 14:05.
      - Carpe Noctem -

      Kommentar


      • #4
        hier müsste es etwas zum thema nested sets geben.

        Kommentar


        • #5
          Danke schonmal,

          dort sehe ich gerade, wie in den Seite die ich mir grade schon angeschaut habe, das sich die Tutorials auf binäre Bäume, also mit 2 Möglichkeiten beziehen, was bei mir ja aber schonmal recht wenig bringt, da ich 1 bis 4 Möglichkeiten habe.
          Also auch die Anzahl der möglichen Kinderbäume ist variabel bei mir und nicht konstant bei 2.

          Ich werd noch verrückt damit.

          Darky
          - Carpe Noctem -

          Kommentar


          • #6
            nö, nested sets sind auch für komplexe bäume mit mehreren zweigen geeignet.

            Kommentar


            • #7
              Original geschrieben von penizillin
              nö, nested sets sind auch für komplexe bäume mit mehreren zweigen geeignet.
              Schön! Und wenn man dann noch verstanden hat wie und das mal eben umsetzen kann, sicher noch besser, leider gehöre ich noch nicht zu dieser Gruppe

              Edit: So ich habe mir auch dieses Tutorial nun angeschaut, aber auch dort gibt es wirklich Punkte, die meinen Optimismus leider ausbremsen, geholfen hat mir das alles noch nicht wirklich:

              Wer sich diesen Baum genauer anschaut, dem werden mehrere Zusammenhänge der Zahlenpaare klar:

              * Wurzel (LFT) = 1
              * Wurzel (RGT) / 2 = Anzahl der Knoten im Baum
              * Blatt (RGT) - Blatt (LFT) = 1
              * Für alle Knoten außer der Wurzel gilt: (Knoten (RGT) - Knoten (LFT) - 1) / 2 = Anzahl der Kind-Knoten
              * Alle LFT- und RGT-Werte sind eindeutig
              So, da ich aber eben nicht 2 Auswahlen habe, sondern eben 1 bis 4, weiss ich nun schon garnicht wie ich das bei mir regeln soll.

              Zum Beispiel die Anzahl der knoten im Baum, das bezieht sich auf immer 2 Möglichkeiten, passt also nicht.

              Der Hinweis das dies durchaus geht ist gut, nur leider hilft er meinem Verständnis nicht wirklich weiter, sorry ;(

              Darky
              Zuletzt geändert von DarkWanderer; 07.09.2005, 14:34.
              - Carpe Noctem -

              Kommentar


              • #8
                wie kommst du darauf dass nested sets nur für baumstrukturen mit max 2 kindelementen sind ?
                mfg,
                [color=#0080c0]Coragon[/color]

                Kommentar


                • #9
                  Original geschrieben von Coragon Rivito
                  wie kommst du darauf dass nested sets nur für baumstrukturen mit max 2 kindelementen sind ?
                  Das habe ich nie behauptet, daher verstehe ich deinen Bezug für diese Aussage nicht.

                  Ich habe keine Ahnung von Nested Sets, wenn ich sie hätte, würde es diesen Thread nicht geben.

                  Mir wurden freundlicherweise Links zur verfügung gestellt. Die dort gezeigten Beispiele zeigen, soweit ich das erkennen kann, nur Strukturen mit jeweils 2 Zweigen.

                  Das es nicht mehr gibt, habe ich nie gesagt, wie auch, wenn ich es doch nicht weiss.
                  Doch hast du vielleicht was das mir weiterhilft, statt nur auf falsche Formulierungen von mir zu achten?

                  Sofern mir jemand das ganze näher bringt, bin ich sicher nicht abgeneigt. Jedoch eine email zu bekommen das eine Antwort da ist und dann zu sehen das es eigentlich keine ist, sondern jemand nur wieder eine Aussage berichtigt hat die ihm nicht so ganz gefiel, war dann doch eher enttäuschend und trägt der Lösung rein garnichts bei.

                  Gruß, Darky
                  - Carpe Noctem -

                  Kommentar


                  • #10
                    schau dir den anhang an.
                    jetzt klar?

                    in der hauptrolle - mspaint und ich.
                    Angehängte Dateien

                    Kommentar


                    • #11
                      OffTopic:
                      Krasse Zeichnung. Beim nächsten webdesign Auftrag komme ich auf Dich zurück
                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        Hi und guten Morgen,

                        ja die Zeichnung macht mir das tatsächlich klar bzw. zeigt mir das es mit mehr als 2 Möglichkeiten geht

                        Ich werde mich mal hinsetzen und mal schauen ob ich das ganze auch umsetzen kann, denn das ist ja noch eine ganz andere Sache, danke aber erstmal.

                        Darky
                        - Carpe Noctem -

                        Kommentar


                        • #13
                          Original geschrieben von schmalle
                          OffTopic:
                          Krasse Zeichnung. Beim nächsten webdesign Auftrag komme ich auf Dich zurück
                          OffTopic:
                          wollte mein grafiktablett deswegen nicht anschließen

                          Kommentar

                          Lädt...
                          X