FOREACH gibt mir 16mal die gleiche Zeile

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

  • FOREACH gibt mir 16mal die gleiche Zeile

    Bin Anfänger und finde nicht den richtigen Ansatz.
    Zwei Datensätze in der MySql aber nur der Erste wird ausgegeben.
    Wo finde ich etwas Verständliches zu der "foreach-Bedingung"?
    Oder übersehe ich etwas Anderes? Danke im voraus!


    PHP-Code:
    // Datenbankanfrage
    $result $Connection->query("SELECT Nr,Anrede,Name,Str,StrNr,
    Plz,Ort,Tel FROM `tch_supplier`"
    ) or die
    (
    "Anfrage fehlgeschlagen: " mysql_error()); $data mysql_fetch_array($result);

    // Tabelle ausgeben
    echo"\n<table>\n";
    foreach (
    $data as $value){
    echo
    "<tr>\n    
    <td>"
    .$data['Nr']."</td>\n
    <td>"
    .$data['Name']."</td>\n
    <td>"
    .$data['Tel']."</td>\n
    <td>"
    .$data['Str']."&nbsp;".$data['StrNr']."</td>\n
    <td>"
    .$data['Plz']."</td>\n
    <td>"
    .$data['Ort']."</td>\n
    </tr>\n"
    ;
    }
    echo
    "</table>"

  • #2
    probier mal
    PHP-Code:
    echo"\n<table>\n";
    while (
    $data mysql_fetch_assoc($result)) {
    echo .... 
    //hier der Ausgabe-Block
    }
    echo
    "</table>"
    Das
    PHP-Code:
    $data mysql_fetch_array($result
    in der 3. Zeile muss dann natürlich weg...

    Kommentar


    • #3
      Schnell und unpragmatisch. Danke!

      Kommentar


      • #4
        Zur Erklärung: Meine Schleife geht die zurückgegebenen Datensätze durch, bis es am Ende angelangt ist. Geht auch mit foreach, aber while gefällt mir besser...

        Bei deiner ersten Lösung wurde nur der erste Datensatz ausgelesen, und in der Schleife dann verwendet.

        Kommentar

        Lädt...
        X