Günther S: Baumdiagramm von PHP erzeugen lassen

Hallo zusammen,

gibt es in PHP (mithilfe einer zusätzlichen library?) die Möglichkeit, Baumdiagramme dynamisch erstellen zu lassen?
Es ist also nicht so dass man z.B. immer ein Parent hat, darunter zwei child-Objekte oder so, sondern die Anzahl der Parents, Children und auch der Ebenen (Parents, Children, Enkel, ...) ist unterschiedlich.

Nun möchte ich ein Baumdiagramm haben bei dem von jedem Parent zu den zugehörigen Children je eine Linie geht

Also z.B. so:

Parent 1
|- Child 1
|    |- Enkel 1
|    - Enkel 2 | |- Child 2 |    |- Enkel 1 |    - Enkel 2
|
`- Child 3

Parent 2
|- Child 1
|
|- Child 2
|
- Child 3       |- Enkel 1       - Enkel 2

Kann man sowas nur mit Java/Perl o.Ä. machen oder geht das auch irgendwie mit PHP? (wenn ja, wie?)

Danke im Voraus,
Günther S

  1. echo $begrüßung;

    gibt es in PHP (mithilfe einer zusätzlichen library?) die Möglichkeit, Baumdiagramme dynamisch erstellen zu lassen?

    Du könntest im einfachsten Fall Arrays ineinander schachteln oder eines der PEAR-Packages, die sich mit Trees beschäftigen verwenden.

    echo "$verabschiedung $name";

  2. Hallo Günther,

    gibt es in PHP (mithilfe einer zusätzlichen library?) die Möglichkeit, Baumdiagramme dynamisch erstellen zu lassen?

    Ich arbeite gerade an einer Javascript-Lösung für dieses Problem und werde es -so es klappt(!)- dann demnächst auch als TuT-Artikel veröffentlichen:

    http://www.sprachlernspiele.de/selftests/klappmenue/tree.html

    Vielleicht können du und die anderen mir mal Feedback geben, wie das in euren Browsern und Systemen (auch bei ganz schmaler Fensterbreite) aussieht. Ich bin mir da aufgrund des pixelgenauen Designs, das bei mir mit IE6, Opera7.54 und Mozilla 1.7.2 unter Win 98 gut aussieht, nicht so sicher. Sind die Verbindungslinien immer regelmäßig gepunktet?

    Von IE5 unter Mac weiß ich z.B. schon, dass er leider immer nur die erste Kindebene öffnet. Weiß der Teufel, warum! Wenns aber nicht dynamisch auf- und zuklappbar sein soll, geht es vielleicht auch dort.

    Gruß Gernot

    1. hi,

      http://www.sprachlernspiele.de/selftests/klappmenue/tree.html

      Vielleicht können du und die anderen mir mal Feedback geben, wie das in euren Browsern und Systemen (auch bei ganz schmaler Fensterbreite) aussieht.

      IE 5.01/Win NT:

      ausklappen des ersten punktes auf erster ebene klappt noch;
      wenn ich jedoch einen der zwei anderen punkte auf erster ebene auszuklappen versuche, "springt" das komplette menü um ca. eine menühöhe nach unten, wobei die gepunktete linie aber weiterhin "von oben" beginnt; und dieses spiel setzt sich dann auch bei den weiteren unterebenen unterhalb des zweiten und dritten punktes erster ebene fort. und mit jedem weiteren klick zum ein-/ausklappen hüpft es weiter nach unten.

      darüber hinaus bekomme ich, wenn ich die seite dann mal neu lade, nur noch eine javascript-fehlermeldung angezeigt (*). schon die [+]-zeichen zum ausklappen werden gar nicht mehr erstellt.
      erst wenn ich das fenster schließe, und dann die seite erneut aufrufe, "funzt" es wieder.

      gruß,
      wahsaga

      (*) "zeile 11, zeichen 6: das objekt unterstützt diese eigenschaft oder methode nicht" in /tree.html

      ja, ich weiss - JS im IE debuggen kann nervig sein ...

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hallo wahsaga,

        schönen Dank für deinen Test: das Problem scheint also nicht auf IE5 am Mac beschränkt zu sein.

        Wie installier ich mir denn jetzt auch noch den IE5 neben meinem bestehenden IE6? Bestimmt finde ich was, wenn ich im Archiv suche.

        Ne, das ist ja wirklich nervig! Ich hätte nicht übel Lust, diesen veralteten Browser mit einem passenden Conditional Comment ganz von der JS-Dynamik auszuschließen ...

        Gruß Gernot

        1. hi,

          Wie installier ich mir denn jetzt auch noch den IE5 neben meinem bestehenden IE6? Bestimmt finde ich was, wenn ich im Archiv suche.

          aktuell gerade mal wieder hier: https://forum.selfhtml.org/?t=107276&m=666057

          Ne, das ist ja wirklich nervig!

          durchaus :-)
          hatte jetzt eben auch nicht die muße, mich da näher reinzudenken, woran es liegen mag.

          Ich hätte nicht übel Lust, diesen veralteten Browser mit einem passenden Conditional Comment ganz von der JS-Dynamik auszuschließen ...

          wäre eine möglichkeit - für ein privates projekt würde ich sogar vermutlich deutlich dafür votieren.
          aber wenn's ein feature artikel werden soll, wäre es ja schon schön, wenn dabei der 5er IE auch noch mit ins boot genommen werden könnte ...

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hallo wahsaga,

            Wie installier ich mir denn jetzt auch noch den IE5 neben meinem bestehenden IE6?

            aktuell gerade mal wieder hier: https://forum.selfhtml.org/?t=107276&m=666057

            Dem Tipp bin ich gefolgt und es gibt jetzt eine gute und eine schlechte Nachricht (Sarkasten würden sagen zwei gute):

            Zuerst die eindeutig gute Nachricht:
            Ich habe das Baummenü für den IE 5.1 nachrüsten können.

            Total bescheuert, dieser Browser Wenn man die Untereigenschaft style.display von 'block' auf 'none' stellt, oder umgekehrt (den in diesem Falle eigentlich richtigen Wert 'list-item' kennt der IE ja selbst in seiner neuesten Version nicht), dann macht das der IE5.1 zwar, nur hat das leider keinen Einfluss auf den Platz, den das Element benötigt, und klatsche es einfach entsprechend seiner Höhe versetzt untendran, anstatt den freien bzw. freigewordenen Platz wieder zu benutzen. Bei einem Reload wird die Seite aber ordentlich gerendert.

            Ein Reload ist jetzt auch ohne Fehlermeldung möglich, nachdem ich die Array-Methode pop(), die IE5.1 nicht versteht, durch eine Operation mit Array.length ersetzt habe. Für IE 5 lasse ich die Seite jetzt also einfach mal kurz neu laden, und so funktioniert es dann auch.

            Die Frage ist jetzt aber immer noch, wie es am IE 5.5, insbesondere am Mac aussieht, wo sich das Problem ja in der letzten Version noch einmal ganz anders darstellte (Aufklappen immer nur des jeweils ersten Untermenüpunktes)

            Und jetzt die schlechte Nachricht:
            Nachdem ich eine Weile bei schon bestehender Verbindung parallel mit den beiden IE-Versionen gesurft war, brach mir der Sechser irgendwann zusammen, "musste geschlossen werden". Seitdem kann ich mit beiden Versionen nur noch lokal arbeiten und komme nicht mehr ins Internet (DNS-Error). Outlook Express funktioniert aber komischerweise. Auch der Versuch einer "Reparatur" des IE über meine Windows98 CD sowie ein Download der neuesten IE-Version schlugen fehl.

            Ich überlege mir, ob ich dies hier jetzt tun soll:

            Entfernen von Internet Explorer 6 oder Outlook Express 6 durch erneutes Installieren von Windows

            Ob das was hilft? Möglicherweise geht dann nachher auch Outlook nicht mehr.

            Ne, das ist ja wirklich nervig!

            ... kann ich da nur wiederholen

            Gruß Gernot

            1. hi,

              Und jetzt die schlechte Nachricht:
              Nachdem ich eine Weile bei schon bestehender Verbindung parallel mit den beiden IE-Versionen gesurft war, brach mir der Sechser irgendwann zusammen, "musste geschlossen werden". Seitdem kann ich mit beiden Versionen nur noch lokal arbeiten und komme nicht mehr ins Internet (DNS-Error). Outlook Express funktioniert aber komischerweise. Auch der Versuch einer "Reparatur" des IE über meine Windows98 CD sowie ein Download der neuesten IE-Version schlugen fehl.

              huch, das ist ärgerlich.
              habe ich aber noch nie von gehört, dass es mit den parallelen IE-versionen derartige probleme häufiger gäbe.

              ich nehme an, die "alten" versionen hast du schon mal wieder komplett runtergeschmissen (verzeichnisse gelöscht), und reparatur dann noch mal versucht?

              kann es ggf. ein problem mit einer PFW sein?

              TweakUI aus den PowerToys von MS bietet m.W. auch noch eine option zum "reparieren" des IE an - weiß aber nicht, ob es das schon für 98 gab.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              1. Hallo wahsaga,

                huch, das ist ärgerlich.
                habe ich aber noch nie von gehört, dass es mit den parallelen IE-versionen derartige probleme häufiger gäbe.

                Tja ich fürchte fast, es könnte damit zu tun haben, dass ich einige Sachen wie Netmeeting sowie ein Update zu Framework 1.1 (wofür auch immer das überhaupt gut sein soll) deinstalliert habe. Spätere Versuche, letzteres  über Windows-Update dann wieder zu installieren schlugen dann immer fehl. So eine Framework-Error-Meldung hatte ich gestern auch bekommen, als mir die beiden IEs abstürzten und seitdem nur noch lokal funktionieren.

                ich nehme an, die "alten" versionen hast du schon mal wieder komplett runtergeschmissen (verzeichnisse gelöscht), und reparatur dann noch mal versucht?

                .. hat alles nichts gebracht.

                kann es ggf. ein problem mit einer PFW sein?

                Was meinst du mit dem Kürzel? Habe schon sämtliche Sicherheitseinstellungen auf minimal gestellt, auch im Bereich Filter (Kindersicherung) nachgeschaut, - nichts!

                TweakUI aus den PowerToys von MS bietet m.W. auch noch eine option zum "reparieren" des IE an - weiß aber nicht, ob es das schon für 98 gab.

                Ja aber für die Second Edition nun leider gerade nicht:

                http://support.microsoft.com/kb/237920/DE/

                Ich werde es dann im Laufe des Tages mal mit Entfernen von Internet Explorer 6 oder Outlook Express 6 durch erneutes Installieren von Windows versuchen, es sei denn hier rät mir einer noch dringend von diesen DLL- und Registrierungsschlüssel-Manipulationen ab und hat vielleicht eine bessere Idee. Vielleicht ist diese Vorgehensweise ja sowieso nicht zielführend.

                Gruß Gernot

              2. Hallo wahsaga,

                kann es ggf. ein problem mit einer PFW sein?

                genau das war's, ein problem mit meiner "Personal Firewall". Manchmal stelle ich mich wirklich dämlich an!

                Danke! Das passiert mir nicht wieder.

                Gruß Gernot

  3. Hello,

    da lies bitte mal die Threads der letzten Tage durch.
    Da gab es schon mel einen bezüglich Rekursion und Anzeige von rekursiven Datenstrukturen. etc.
    Der trifft eigntlich auch genau auf Dich zu.

    Sei bitte nicht böse, dass ich selber jetzt nicht die Zeit habe, den zu suchen.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau