Newbie: Fetch Array nur die erste Zeile

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

  • Newbie: Fetch Array nur die erste Zeile

    Hallo,

    bin ziemlicher Anfänger und hoffe, ihr könnt mir helfen..
    Habe ein simples Mahn-Formular, dass sich Daten aus einer Datenbank zieht wie Name, Datum einer Bestellung etc -
    am Ende wird dann der Text per Knopfdruck an den säumigen Bestellenden verschickt.
    Beispiel:

    PHP-Quellcode:

    <?php
    $Body = "Hallo " . $row['Name'] . "\n" . "Am " . $row['Date'] . " hast Du folgendes bestellt:
    ?>



    Problem ist folgendes:
    Setze ich:

    PHP-Quellcode:

    <?php
    while($itemrow = mysql_fetch_array($items))
    echo("{$itemrow['Count']} x {$itemrow['Name']} ({$itemrow['Descr']}), Artikel-ID: {$itemrow['ArtikelID']} - Kosten: {$itemrow['Price']} € <br> <br>");
    $Body = "Hallo " . $row['Name'] . "\n" . "Am " . $row['Date'] . " hast Du folgendes bestellt:
    ?>


    vor $body werden alle Artikel angezeigt, aber logischerweise nicht in die Variable geschrieben, die am Ende verschickt wird.

    Frage:
    Wie kann ich diesen ganzen Rummel mit fetch array usw in den "Fließtext" schreiben?
    Was halbwegs klappte war, dass ich nur
    PHP-Quellcode:

    <?php
    $itemrow = mysql_fetch_array($items)
    ?>


    schrieb - dann wurde allerdings bei $itemrow['Name'] etc. nur der erste Wert angezeigt??

    Hoffe, ihr könnt mir weiterhelfen und verzeiht meine Anfänger-Fragen )
    Danke und Gruß,
    Screenstyler

  • #2
    Hm, so ganz kann ich nicht erfassen, woran es bei dir hängt.

    Erst mal denke ich, dass deine while-Schleife nicht ganz funktioniert.
    Du brauchst eine öffnente geschweifte Klamme, darin die 2 Befehle und dann wieder eine schliessende geschweifte Klammer.

    Body muss dann mit .= immer wieder erweitert werden anstatt überschrieben.

    Ich hoff mal ich habe verstanden, was du willst, aber ich bin mir nicht ganz sicher.

    cya max


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      erstmal danke für die schnelle Antwort.
      habe deinen Vorschlag befolgt und den Code jetzt dementsprechend geändert:


      PHP-Code:
      $Body "Hallo ".$row['Name']."\n"."Am ".$row['Date']." hast Du folgendes bestellt:";

      while(
      $itemrow mysql_fetch_array($items)){

      $text .=echo $itemrow['Count'].",".$itemrow['Name']."(".$itemrow['Descr']."), Artikel-ID: ".$itemrow['ArtikelID']." - Kosten: ".$itemrow['Price']." € <br> <br>"
      }

      echo 
      $body."<br>".$text

      Allerdings kommt jetzt immer folgende Fehlermeldung:
      [COLOR=red]parse error, unexpected T_ECHO[/COLOR]

      Außerdem will ich nicht eine weitere Variable definieren, sondern
      $body soll den ganzen Rummel beinhalten, da ich nachher nur diese als Mail-Inhalt verschicken will/kann.

      Hoffe, ihr könnt mir weiterhelfen

      Screenstyler

      Kommentar


      • #4
        Original geschrieben von Screenstyler
        Allerdings kommt jetzt immer folgende Fehlermeldung:
        [COLOR=red]parse error, unexpected T_ECHO[/COLOR]
        *seufz*

        Und so einen dämlichen kleinen Fehler findest du nicht selber ...?

        Nicht $text .= echo "...", sondern $text .= "..."
        Außerdem will ich nicht eine weitere Variable definieren, sondern
        $body soll den ganzen Rummel beinhalten
        Ja dann hänge halt nicht erst an $text an, sondern gleich an $body.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X