Как я могу отправить автоматическое письмо из записей MySQL? - PullRequest
1 голос
/ 25 марта 2009

Я использую базу данных MySQL и PHP.
Моя база данных MySQL содержит следующие записи:

  Name  Address    Data    email             Date
  Joy   Fortblair  10     my@gmail.comm    1/22/2009
  Bob   Atlanta    15      bob@gmail.com    2/22/2009

Мое намерение - отправить электронное письмо с использованием PHP на следующих условиях:

  • Данные за 1 день. (Current date - date = 1 day)

  • Должны быть отправлены все записи по электронной почте за один раз.

Как лучше всего начать?

Ответы [ 2 ]

5 голосов
/ 25 марта 2009

SQL-запрос довольно прост и выглядит следующим образом

SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1;

Теперь вы должны получить содержимое результата и поместить его в строку

<?php
$sql = " SELECT *, TIMESTAMPDIFF(day, Date, NOW()) FROM `your_table_name` WHERE TIMESTAMPDIFF(day, Date, NOW()) = 1";
$query = mysql_query($query);
$emailBody = "";
while($row = mysql_fetch_assoc($query))
{
   $emailBody .= "Name: ".$row['Name']."; Address: ".$row['Address']."; Data: ".$row['Data']."; Email: ".$row['email']." \n";
}

mail("address@yourdomain.com", "Subject", $emailBody);
?>

Наслаждайтесь!

1 голос
/ 25 марта 2009
 SELECT email FROM Table WHERE DATEDIFF(CURRENT_DATE(), Date) >= 1

Что касается отправки только один раз: либо сохраните тот факт, что вы отправили электронное письмо в базу данных, либо вызывайте скрипт один раз в день, сравнивая равенство (=) вместо большего или равного (> =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...