Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql resultset in mehrdimensionales array

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

  • mysql resultset in mehrdimensionales array

    hallo @all,

    ich möchte Datensätze aus MySQL in ein mehrdimensionales Array füllen und anschließend nach Spalten sortieren können.

    PHP-Code:
    <?
    while ($myrow mysql_fetch_array($res)) {
    $data = array('tanr'=>$myrow["TaNr"],'date'=>$myrow["Datum"],'creator'=>$myrow["ersteller"]);

    foreach (
    $data as $key => $value) {
    //echo "Schlüssel: $key; Wert: $value
    \n";
    $var = "array("."'".$key."'"."=>".$value."), ";

    }
    $anz=array_push ($data$var);

    } // Ende While

    foreach(
    $data as $key=> $value){
    for(
    $i=0; $i<= count($data); $i++){
            echo "
    <tr><td>".$data[$i]."</td></tr>";
    }
    }
    ?>


    Funzt leider nich so wie ich mir das vorstelle. Hat jemand ne Idee? Die Ausgabe gibt mir nur den letzten Datenwert aus (creator), ich hätte aber ganz gern alle.
    Danke schon mal.


  • #2
    Nachdem ich diesen Code mal anständig eingerückt habe(wäre eigentlich die Aufgabe des Fragestellers!) hab ich erst verstanden, was du da für einen Quatsch programmiert hast. Zuerst schaufelst du den Array $myrow fast unverändert in ein Array $data. Dann dieses ganz unverändert, aber auf höchstkomlizierteste Art, in ein Array $var. Und das Ganze schiebst du nun ans Ende von $data, um dieses im nächsten Durchlauf wieder zu überschreiben. Und am Schluss wird der Inhalt über die verkehrte Indexreihenfolge wieder ausgegeben. Hier einfach kurz und bündig:
    PHP-Code:
    <?php
    while ($myrow mysql_fetch_array($res)) { 
        
    array_push($data$myrow);
    }
    for(
    $i 0;$i count($data);$i ++){
        echo 
    "$i. Datensatz: ";
        foreach(
    $data[$i] as $key => $val){
             echo 
    "$key = $val ";
        }
        echo 
    "
    "
    ;
    }
    ?>
    Und mach bitte erst dann weiter, wenn du das auch verstanden hast.
    Gruss
    L

    Kommentar

    Lädt...
    X