我有一位客户希望他的申请每三天向他的客户发送一封电子邮件,这些客户尚未同意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';
}
}
答案 0 :(得分:2)
使用Modulo运算符
6%3
将输出0
9%3
。
在你的情况下
if($diff % 3 == 0){
//send email
...}