Array als Tabelle ausgeben

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

  • Array als Tabelle ausgeben

    ich habe ein array in array ($erg) in der form von:
    Array
    (
    [titel] => Array
    (
    [0] => Beauty
    [1] => Goodbye Country (Hello Nightclub)
    [2] => Glee
    )

    [interpret] => Array
    (
    [0] => Ryuichi Sakamoto
    [1] => Groove Armada
    [2] => Bran Van 3000
    )

    [jahr] => Array
    (
    [0] => 1990
    [1] => 2001
    [2] => 1997
    )

    [id] => Array
    (
    [0] => 1
    [1] => 4
    [2] => 5
    )
    )

    wie man sieht, sind ich die daten aus der datenbank.
    nun möchte ich diesen array als tabelle wieder ausgeben.

    ich habe folgendes probiert, jedoch funktioniert das nicht so wie
    ich das will:
    PHP-Code:
    foreach($erg as $key => $wert)    
    {        
      echo 
    "<th>$key</th>";  //spaltentitel
    }

    foreach(
    $erg as $key => $wert)    

        echo 
    "<tr>";      
        foreach(
    $wert as $keys => $werts)    
        {             
            echo 
    "<td>$werts</td>";           
        }     
        echo 
    "</tr>"

    ich möchten diesen array als tabelle genauso ausgeben,
    wie es in der datenbank tabelle auch aussieht!

    würde mich über ein paar tips freuen...thx!

  • #2
    Re: Array als Tabelle ausgeben

    Zum x-tausendsten Mal: "funktioniert nicht" ist keine brauchbare Problembeschreibung.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ok sorry!
      das ganze funktioniert, jedoch nicht so wie ich das haben möchte!
      ich kann hier leider die ausgabe nicht darstellen..wenn du mir sagst
      wie ich html einbetten kann, dann werde ich es euch zeigen!
      aber wie die tabelle dargestellt werden soll, dürfte jedem klar sein, oder?
      Zuletzt geändert von brainwave8; 14.10.2006, 16:22.

      Kommentar


      • #4
        die generierte html-ausgabe hätte gereicht. deine beschreibung ist immernoch mehr als dürftig, damit kommst du in zusammenarbeit mit menschen echt nicht weit. aber im grunde ist das problem klar.

        foreach($erg) durchläuft die spalten. auf einzelne zeilen greifst du mittels eines zählers, den du nach jeder zeile ("</tr>") inkrementierst.

        aber mal ehrlich - woher kommt das array in der form?

        Kommentar


        • #5
          das problem bei meiner implementierung ist, dass die spalten als
          zeilen ausgegeben werden..ich versuchs mal darzustellen:

          titel | interpret | jahr | id
          -------------------------------------------------------------------------------
          Beauty | Goodbye Country... | Glee |
          Ryuichi Sakamoto | Groove Armada | Bran Van 3000
          usw..


          @penizillin
          aber mal ehrlich - woher kommt das array in der form?
          was meinst du damit?

          Kommentar


          • #6
            nicht getestet
            PHP-Code:
            $arrays=array_keys($erg);//überschriften
            $zeilen=count($arrays[0]);//zeilen anzahl bei erstem array
            echo "<table border=\"1\">";
            echo 
            "<tr><td>".imploder("</td><td>",$arrays)."</td></tr>";//überschrift
            for($i=0;$i<$zeilen;$i++){
            echo 
            "<tr>";
              foreach(
            $arrays as $v){
              echo 
            "<td>".$erg[$v][$i]."</td>";
             }
             echo 
            "</tr>";
            }
            echo 
            "</table>"
            Slava
            bituniverse.com

            Kommentar


            • #7
              danke, das ist schonmal eine gute lösung, jedoch stört mich die
              for schleife, da ich die anzahl der zeilen nicht weiss! müsste eigentlich
              mit einer reine foreach schleife auch funktionieren, oder?

              Kommentar


              • #8
                Original geschrieben von brainwave8
                danke, das ist schonmal eine gute lösung, jedoch stört mich die
                for schleife, da ich die anzahl der zeilen nicht weiss! müsste eigentlich
                mit einer reine foreach schleife auch funktionieren, oder?
                wieso habe ich dann der Anzahl von Zeilen rausgefunden?
                Slava
                bituniverse.com

                Kommentar


                • #9
                  das ist nicht ganz korrekt, da count($arrays[0]) = 1 zurückliefert!

                  Kommentar


                  • #10
                    ok so klappts: count($erg[$arrays[0]]);


                    und das hier ist meine lösung:
                    PHP-Code:
                    echo $table;
                            foreach(
                    $erg as $key => $wert)    
                            { 
                                foreach(
                    $erg as $titel => $wert) echo "$th $titel</th>";     
                                if (
                    is_array($erg[$titel][0])) $s=1; else $s=0;;        
                                foreach(
                    $wert as $keys => $werts)    
                                {        
                                    echo 
                    $tr;  
                                    foreach(
                    $erg as $key => $wert) echo "$td".$erg[$key][$s]."</td>";
                                    echo 
                    "</tr>";
                                    
                    $s++;
                                }
                                break;
                            }
                            echo 
                    "</table>"
                    die frage ist jetzt, ob die lösungen elegant sind?!

                    Kommentar


                    • #11
                      Original geschrieben von brainwave8
                      ok so klappts: count($erg[$arrays[0]]);

                      die frage ist jetzt, ob die lösungen elegant sind?!
                      tja!
                      Ich werde mich jetzt mit dieser Thema bescheftigen und gebe dir entgültige Antwort in ein paar Monaten.
                      http://de.wikipedia.org/wiki/Eleganz
                      Slava
                      bituniverse.com

                      Kommentar


                      • #12
                        Eleganz in der Wissenschaft (eine elegante Lösung, Beweis, Theorie) ist ein formales Maß der Effektivität und wird im Eleganzprinzip der Wissenschaften umgesetzt.


                        heutzutage ist die "eleganz" in der programmierung bedeutend wichtig

                        Kommentar


                        • #13
                          brainwave8, wenn die daten in der mysql-datenbank liegen (ist dem so?), warum musst du sie in dem array zwischenspeichern?

                          Kommentar


                          • #14
                            ich arbeite mit klassen und ich brauche als rückgabewert eben ein array

                            Kommentar


                            • #15
                              darf ich auch hier fragen, wozu?

                              Kommentar

                              Lädt...
                              X