Ankündigung

Einklappen
Keine Ankündigung bisher.

Hierarchie Grafik mit php erstellen

Einklappen

Neue Werbung 2019

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

  • Hierarchie Grafik mit php erstellen

    Hallo zusammen,
    ich bin auf der Suche nach einer Möglichkeit, eine hierarchische Grafik mit php zu erstellen.
    Man kann sich dieses fast wie einen Stammbaum vorstellen, bei dem ein "Child-Node" immer ein Eltern-Paar hat, dieses hat widerrum ein Elternpaar usw.
    Das Ganze bis maximal 5 Ebenen.
    Ich stelle mir das so vor, dass die jeweiligen "Kästchen" für einen Namen mit Daten aus einer Variablen befüllt werden können.
    Als Beispiel:

    Vater 1
    child - > Vater 2
    Mutter 1->
    Mutter 2
    Hat vielleicht jemand eine Idee oder einen Hinweis für mich?
    Vielen Dank

    Gruß
    Hoschie

  • #2
    Ich würde das mit Javascript umsetzen, mit PHP die Rohdaten generieren.

    Hier zb die Library https://d3js.org/

    Und hier Beispiel
    http://charts.animateddata.co.uk/datavistree/
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

    Kommentar


    • #3
      Moin,
      vielen Dank, das geht tatsächlich schon in die richtige Richtung.
      Ich würde aber doch lieber bei PHP bleiben, um nicht client-abhängig zu sein.
      Ich behalte das aber im Hinterkopf
      Also gerne weitere Vorschläge.

      Gruß
      Hoschie

      Kommentar


      • #4
        Zitat von Hoschie Beitrag anzeigen
        Moin,
        vielen Dank, das geht tatsächlich schon in die richtige Richtung.
        Ich würde aber doch lieber bei PHP bleiben, um nicht client-abhängig zu sein.
        Ich behalte das aber im Hinterkopf
        Also gerne weitere Vorschläge.

        Gruß
        Hoschie
        du brauchst aber den Client, du musst PHP Seitig die Fenster Größe wissen damit du das auf dem Bild ausrichten kannst, als tools hast du dann GD Library und PHP Eignet sich nicht für Darstellungen. Mit PHP Erzeugst du HTML Code und JavaScript code welches dann vom Browser interpertiert wird.

        Versuch nicht mit PHP Etwas zu machen, wofür es nicht ausgelegt ist.
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #5
          Ein guter Einwand, danke.
          Aber eigentlich soll die Größe der Gesamtgrafik immer gleich sein, also unabhängig von der Fenstergröße.
          Wenn man es ganz grob darstellt möchte ich mit PHP die Daten (nehmen wir mal Name, Geburtsort und Datum, Haarfarbe und Größe) aus der MySQL Datenbank holen, einen Rahmen für jede Person darum und dann die hierarchische Darstellung. Also die "Kästen" miteinander sauber verbinden. Letztendlich wird dann daraus eine Komplettgrafik, die auf dem Bildschirm dargestellt wird, vielleicht auch an eine PDF übergeben werden kann oder einfach nur gedruckt wird.

          Nicht falsch verstehen, ich bin sehr dankbar für deine Denkanstöße.

          Gruß
          Hoschie

          Kommentar


          • #6
            Zitat von Hoschie Beitrag anzeigen
            Aber eigentlich soll die Größe der Gesamtgrafik immer gleich sein, also unabhängig von der Fenstergröße.
            Das Problem dabei ist, dass man ab einer Bestimmten Anzahl an Elementen, wegzoomen müsste, und damit würde man eventuell den Text nicht lesen.
            Zitat von Hoschie Beitrag anzeigen
            Wenn man es ganz grob darstellt möchte ich mit PHP die Daten (nehmen wir mal Name, Geburtsort und Datum, Haarfarbe und Größe) aus der MySQL Datenbank holen, einen Rahmen für jede Person darum und dann die hierarchische Darstellung.
            Ja, in #2 habe ich geschrieben, dass man mit PHP Die Daten aus der Datenbank auslesen sollte und anschließend die mit http://php.net/json_encode ausgeben. Diese werden dann im JavaScript verwenden für die Darstellung.

            Zitat von Hoschie Beitrag anzeigen
            Also die "Kästen" miteinander sauber verbinden. Letztendlich wird dann daraus eine Komplettgrafik, die auf dem Bildschirm dargestellt wird.
            Für PHP ist es echt viel Arbeit, javascript kann das echt besser.

            Zitat von Hoschie Beitrag anzeigen
            vielleicht auch an eine PDF übergeben werden kann oder einfach nur gedruckt wird.
            Da kann man dann tools wie wkhtmltopdf nutzen.

            Zitat von Hoschie Beitrag anzeigen
            Nicht falsch verstehen, ich bin sehr dankbar für deine Denkanstöße.
            PHP Hat seine Grenzen wenn es um visuelle Darstellung geht. Das versuche ich hier zu vermitteln.
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

            Kommentar


            • #7
              Zitat von BlackScorp Beitrag anzeigen
              PHP Hat seine Grenzen wenn es um visuelle Darstellung geht. Das versuche ich hier zu vermitteln.
              Das habe ich schon verstanden
              Aber es ist ja gar nicht so "groß" wie du das im Moment im Kopf hast. Es werden niemals mehr als 5 Ebenen und die Grafik soll auf ein DIN A4 Blatt passen.
              Dabei ist die 5 Ebene schon nur zur Sicherheit.
              Ich werde nachher mal eine kleine Beispielgrafik erstellen und mit anhängen.

              Mein größeres Problem dabei ist, ich kann nicht garantieren, dass die Clients Javascript enabled haben.
              Gruß
              Hoschie

              Kommentar


              • #8
                Zitat von Hoschie Beitrag anzeigen
                Es werden niemals mehr als 5 Ebenen
                Das sagt jetzt nichts aus über die Anzahl der Elemente

                Zitat von Hoschie Beitrag anzeigen
                DIN A4 Blatt passen.
                Das sagt nichts aus über DPI und Zoom faktor
                zb 72dpi in A4 format macht 595 x 842 pixel
                bei 300dpi in A4 format, hast du schon 2480 x 3508

                beides passt auf A4 die Anzahl der Pixel ist aber unterschiedlich.

                Zitat von Hoschie Beitrag anzeigen
                Mein größeres Problem dabei ist, ich kann nicht garantieren, dass die Clients Javascript enabled haben.
                Das ist dein Geringstes Problem. Du wirst schon genug probleme haben, die Library einzubinden, geschweige denn das selbst in PHP umzusetzen. Einfach <noscript> Tag einbinden mit einer Meldung wie "Bitte JS Aktivieren damit man alles sieht" ist einfacher als das ganze in PHP umzusetzen.
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                Kommentar


                • #9
                  OK, ich gebe zu, ich hätte jetzt eher mit einem vier oder fünf-Zeiler gerechnet. Gerade weil ich auch schon viel mit jpgraph etc. gearbeitet hatte.
                  Aber ich werde dann wohl mal in js eintauchen müssen und mir die Library ansehen.
                  Sollte dennoch jemand weitere Ideen haben, bin dafür immer offen.

                  Vielen Dank, BlackScorp!

                  Gruß
                  Hoschie

                  Kommentar


                  • #10
                    Zitat von Hoschie Beitrag anzeigen
                    OK, ich gebe zu, ich hätte jetzt eher mit einem vier oder fünf-Zeiler gerechnet. Gerade weil ich auch schon viel mit jpgraph etc. gearbeitet hatte.
                    Ja damit kannst du "rumtrixen" auf X - Achse haste dann "Ebennen" auf Y- Achse hast du dann "Vater 1" , "Mutter 1" etc , dann nimmste Spline Curves und dann irgendwie die Information dort einbinden. Nur ist es dann mehr als 5 Zeiler
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                    Kommentar


                    • #11
                      Sowas wie d3js ist eher für Bereiche gedacht in dem genau das (aktiviertes JS) vorausgesetzt werden kann. Ist natürlich doof wegen dieser Sache JS einzusetzen. Schau Dir doch einfach eine der vielen Chart Libraries in PHP an. Eine von denen kann bestimmt das von Dir gesuchte.

                      Ansonsten mal es halt selbst. So schwer ist das nicht. Mit ein wenig Gehirnschmalz kommst Du da auch zu Ziel.
                      PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                      Kommentar


                      • #12
                        Zitat von Ulfikado Beitrag anzeigen
                        Ansonsten mal es halt selbst. So schwer ist das nicht. Mit ein wenig Gehirnschmalz kommst Du da auch zu Ziel.
                        joa.. würde ich nicht sagen, Grafiken + Text mit GD ist schon eine nicht ganz triviale Sache
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                        Kommentar


                        • #13
                          Zitat von Hoschie Beitrag anzeigen
                          OK, ich gebe zu, ich hätte jetzt eher mit einem vier oder fünf-Zeiler gerechnet. Gerade weil ich auch schon viel mit jpgraph etc. gearbeitet hatte.
                          Aber ich werde dann wohl mal in js eintauchen müssen und mir die Library ansehen.
                          Sollte dennoch jemand weitere Ideen haben, bin dafür immer offen.

                          Vielen Dank, BlackScorp!

                          Gruß
                          Hoschie
                          Wenn schon eine Grafik, dann würde ich nur svg nehmen.

                          Kommentar


                          • #14
                            Gerne, Ideen?

                            Kommentar


                            • #15
                              Zitat von Hoschie Beitrag anzeigen
                              Gerne, Ideen?
                              $suchmaschine Deiner Wahl?
                              PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

                              Kommentar

                              Lädt...
                              X