MySQL DatenbankabfragenInhalt per PHP eMail senden?

...komplette Frage anzeigen

1 Antwort

Auf das Skript den cronjob alle x Minuten ausführen.

Im SQL die where Bedingung um `wiedervorlage` <= NOW() ergänzen.

Den Inhalt nicht ausgeben (echo) sondern in $nachricht.

Bei erfolgreichem versenden das Datum von wiedervorlage auf null setzen.

Zum Schluss: für solche Fragen besser stackoverflow nutzen :P

Antwort bewerten Vielen Dank für Deine Bewertung
PatrickMuku 04.08.2016, 20:15

Ungefähr so:

$host = "host";

$user = "User";
$pass = "Passwort";
$con = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db("datenbank", $con) or die(mysql_error());
$sql = "SELECT mandant,finanzprojektnummer,wiedervorlage,beschreibung,erledigt FROM wiedervorlage WHERE finanzprojektnummer LIKE 1234567 AND wiedervorlage >= NOW()";
$query = mysql_query($sql);

while ($row = mysql_fetch_assoc($query)) {
$empfaenger = 'empfaenger@provider.de';
$betreff = 'Neue Nachricht';
$nachricht = $row['beschreibung'];
$header = "FROM: Absender";
mail($empfaenger, $betreff, $nachricht, $header);
}
0
Mickan1994 04.08.2016, 21:00
@PatrickMuku

Vielen Lieben Dank für die Hilfe! Ich habe dein Script jetzt 1:1 übernommen und die relevanten Daten geändert (Passwort usw) aber leider ist die Email nach wie vor leer... :/ 

0
PatrickMuku 04.08.2016, 21:05
@Mickan1994

Ich kenne dein System nicht. Mein Skript wird nicht 1:1 funktionieren

0
Mickan1994 04.08.2016, 21:17
@PatrickMuku

Also es klappt doch - die Testabfrage war nur leer :D wie kann ich aber eine Tabelle als eMail ausgeben in der alle Daten stehen also Mandant, finanzprojektnummer, wiedervorlage usw alles als einzelne eMail falls mehrere Daten auf das Wiedervorlagedatum heute() also Beispiel 04.08.2016 auftreten? müsste ja alles in $nachricht rein. 

0
PatrickMuku 04.08.2016, 22:48
@Mickan1994

Du kannst in der email auch HTML verwenden:

$nachricht = "<table><tr><td>".$row["finanzprojektnummer"]."</td></tr></table>";
0

Was möchtest Du wissen?