FOREACH gibt mir 16mal die gleiche Zeile

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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...

    Comment


    • #3
      Schnell und unpragmatisch. Danke!

      Comment


      • #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.

        Comment

        Working...
        X