如何在预订确认之前每三天发送一封电子邮件

时间:2014-02-12 14:07:53

标签: php email

我有一位客户希望他的申请每三天向他的客户发送一封电子邮件,这些客户尚未同意T& C预订,直至预订日期为止。这将是一个cron工作,但我遇到的问题是如何连续每三天检查一次未知的时间。我可以设置很多if else检查,但在某个阶段它可能/将会中断因为我没有进行足够的检查。每项检查都将执行发送电子邮件的相同任务。

如何每隔三天改进if else检查?

我的脚本在

下面
$sql = "SELECT * FROM bookings " .
    "WHERE DATE(date) > DATE(NOW()) " .
    "AND dateofquote != '' " .
    "AND email != '' " .
    "AND confirmed = 0";

$result = mysql_query($sql);
$num_rows = mysql_numrows($result);

$today = date('Y-m-d');
$count = 3;

if($num_rows){
while($row = mysql_fetch_assoc($result)){
    $date_of_quote = $row['dateofquote'];

    $datetime1 = new DateTime($today);
    $datetime2 = new DateTime($date_of_quote);
    $interval = $datetime1->diff($datetime2);
    $diff = $interval->format('%a');


 // How do I improve this process from here
    if($diff == '3'){
        // send email
    } elseif($diff == '6'){
        // send email
    } elseif($diff == '9'){
        // send email
    } else {
        echo 'something went wrong';
    }

}

1 个答案:

答案 0 :(得分:2)

使用Modulo运算符

6%3

将输出0

9%3

在你的情况下

if($diff % 3 == 0){ 
//send email
...}