• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bei Abfrage aus DB nur erster Wert geholt

Tobi44

Mitglied
Moin,

möchte mehrere E-Mail Adressen aus einer Tabelle holen um eine Mail dorthin zu schicken, das Problem liegt wohl an der Abholung der Daten aus der DB, die Mail wird jedenfalls nur an eine Adresse in der DB verschickt:

PHP:
$query = "SELECT email FROM testlist";
****$result = mysql_query($query);
****$row = mysql_fetch_row($result);
****$mail_to = $row[0];
*$mail_to sollen alle Mailadressen aus der DB sein, an die die Mail versendet werden soll...
 
Hast du mal nur 2 Minuten in die Doku geguckt, was deine Methoden eigentlich tun?
Offenbar nicht, denn $result ist ein Result-Set, durch das man mit Loopen muss.
 
Ich habe mich damit nicht sehr lange auseinandergesetzt, und diesen Teil einfach mal aus einer anderen Website kopiert, in der dieses Snippet tut, was es soll. Was weiß denn ich, wie es funktioniert, dass einfach alle Mailadressen aus der Spalte geholt werden, um die Mails zu versenden... Was glaubst weshalb ich hier frage?

Was weiß ich was Du jetzt mit result und result-set meinst - ist doch nur ne Definition für die Ausführung des DB Befehls...

Vielleicht kannst Du mir dann auch noch einen Link zu einer Seite zur Verfügung stellen, die eine mögliche Lösung meines "Problems" bereithält?

Danke ;)
 
Bist du echt nicht in der Lage, mal bei Google PHP mysql_query einzugeben? Sorry, Hilfe ist das eine, aber wenn jemand NULL Eigeninitiative zeigt, nur dann fehlt mir auch die Lust. Wenn du meinst, dass du alleine mit Abschreiben und Rumfragen weiter kommst, bitte.
 
Zuletzt bearbeitet:
Was glaubst weshalb ich hier frage?
Genau das ist der Punkt. Weil man den Eindruck hat, dass du einfach was kopiert hast und nun ohne dich auch nur rudimentär mit der Technik auseinanderzusetzen wollen, von uns eine Lösung erwartest.

Wenn es um triviale Dinge - wie: "welche Farbe würdet ihr nehmen?" - geht, ist das ok. Aber zu dem, was du vor hast gehört eine gewisse Sachkenntniss, da du dir und Anderen ansonsten Schaden zufügen kannst. Und zu dieser Sachkenntnis gehört u.a. auch, dass man zumindest die Grundlagen sich selbst anliest. Es gibt zu der Thematik mehr als genug Informationen im Netz.
 
Dafür habe ich im Moment nicht die Zeit, es soll einfach funktionieren. Daher landet das nun einfach in der Jobbörse.
 
PHP:
$rQueryResource = mysql_query('SELECT email FROM testlist');

// Habe ich ergebnisse?
if(mysql_num_rows($rQueryResource)) { // ja

    //  gehe alle einträge durch
    while(false !== ($aRow = mysql_fetch_assoc($rQueryResource))) {
        // und gebe sie aus
        echo $aRow['email'] .'<br />';
    }
} else { // nein
    echo 'Keine Einträge vorhanden!<br />';
}
 
Ja, danke - aber die Ausgabe funktioniert doch. Habe nun schon mehrere Möglichkeiten ausprobiert, ausgegeben werden mir immer alle Datensätze. Es klappt nur der Mailversand nicht korrekt, da die Mail nur an einen dieser Datensätze, anstatt an alle, verschickt wird.
 
Aktuell so:
PHP:
 * *$abfrage = "SELECT * FROM testlist"; 
** *$ergebnis = mysql_query($abfrage); 
** *while($ausgabe = mysql_fetch_assoc($ergebnis))
****{ $mail_to = $ausgabe['email']; }

*$mailkopf = "From: \"Tobi\" <tobi@*.de>";
$betreff = "Newsletter";

$mailtext = htmlspecialchars($_POST['mailtext']);

// E-Mail config Ende

if($_POST['sendmail']) {
** *if (empty($_POST['mailtext'])){
** * * *echo "<font color=\"red\">Bitte einen Text eingeben.</font>";
** *}else {
********{
** $check = @mail($mail_to, stripslashes($betreff), stripslashes($mailtext), $mailkopf);
** if(!$check) { echo "<font color=\"red\">Unbekannter Fehler beim Senden der E-Mail.</font><br>"; } else { echo ""; }
****}
****$ok=TRUE;
** *if($ok){
****echo "<font color=\"green\"><strong>Newsletter erfolgreich versandt.</strong></font>";
** * * *} else{
** * * * * *echo "<font color=\"red\"><b>Fehler.</b> Try again.</font>";
************}
********}
}
 
Du sendest ja nicht innerhalb der while-Schleife die Mails. Du musst den Mail-Versand innerhalb der while-Schleife haben.

Und wieso sind da so viele Sternchen?
 
Hmm, dann müsste ich das if für den Mailversand auch in die while tun... Naja, werde das morgen nochmal testen.

Die Sternchen waren plötzlich nach dem Editieren des Beitrags da.

Gruß
 
Zurück
Oben