Es gibt 6 Felder in der Tabelle namens eblasts. ID, Nachricht, drop_dead, warning1, warning2 und due_date. drop_dead, due_date, warning1 und warning2 sind alle Unix-Zeitstempel. Ich muss eine E-Mail senden, wenn diese Zeit vorbei ist. Ich möchte also das drop_dead-Datum in der Datenbank nachschlagen (was der späteste Zeitpunkt ist, an dem eine E-Mail gesendet werden sollte), wie es mit der aktuellen Zeit verglichen wird. Wenn seine Vergangenheit drop_dead dann nichts tun. Wenn es vor drop_dead ist, dann muss es eine E-Mail senden.Beste Lösung für automatisierte E-Mails basierend auf Unix-Zeitstempel
In dieser E-Mail muss ich noch zwei andere Tabellen (Kontakte und Firmen) Querverweis. Die Kontakte sind über die Spalte company_id in der Kontakttabelle mit jeder Firma verbunden (für eine Firma kann es mehrere Kontakte geben). Ich habe auch eine andere Tabelle, die hat, ob sie geantwortet haben oder nicht (eblast_id, company_id, timestamp). Nur diejenigen, die nicht geantwortet haben, müssen per E-Mail benachrichtigt werden.
Sinn machen? Irgendwelche Ideen, wie man das macht oder wo ich anfangen soll? Mein Gehirn ist gebraten von dem Versuch, das herauszufinden.
Das ist es, was ich bisher gemacht habe ... helfe nur, die Teile zusammenzufügen/die fehlenden Punkte auszufüllen.
$timestamp = time();
$drop_dead = mysql_query("SELECT drop_dead, ID, warning_1 FROM eblasts") or die(mysql_error());
while ($row = mysql_fetch_array($drop_dead, MYSQL_NUM)) {
$last_time[$row[1]] = $row[0];
$last_time[$row[1]] = $row[2];
};
print_r($last_time);
foreach($last_time as $key => $value) {
if($timestamp < $value){
$final_email[] = $key;
};
};
if(){
$find_franchise = mysql_query("SELECT * FROM franchisees") or die(mysql_error());
while ($row = mysql_fetch_array($find_franchise, MYSQL_NUM)) {
$franchise_id[] = $row[0];
}
$find_responded = mysql_query("SELECT franchise_id FROM participation");
while ($row = mysql_fetch_array($find_responded, MYSQL_NUM)) {
$part_franchise[] = $row[0];
}
$to_email_franchise_id = array_diff($franchise_id, $part_franchise);
}
Vielen Dank im Voraus.
-Adam
Scheint ziemlich einfach, Adam. Wo kommen Sie konkret auf Probleme? – webbiedave
Ich habe mit etwas zusätzlichen Code bearbeitet, der hoffentlich als Ausgangspunkt für die Diskussion dienen wird. –