我正在使用一个预订系统,该系统可以使人们72小时(3天)通过单击链接来确认他们的注册。我想在48小时(2天)后发送提醒电子邮件,如果尚未确认注册。如果在72小时(3天)后仍未确认,则注册将从数据库中删除。

但是,我不知道如何处理if / else语句。今天我的逻辑死了。
有人可以向我提供有关if和else陈述的权利吗?非常感激!

<?php include "config.php"; ?>
<?php

// Connect to database
$query = mysqli_query($con,"SELECT * FROM reservations WHERE reserved='yes' AND confirmed='no'");
$row = mysqli_fetch_array($query);

// set reservation time
$datetime = $row['datetime'];
$datetime -> modify('+3 days');

$now = date("Y-m-d H:i:s");

foreach $query as $row {
   if ($datetime > $now) {
        //it still has time. sent reminder if less than 24 hours left.
   } else {
       //time has passed, set registration inactive.
   }
}
?>

最佳答案

为什么不在数据库中进行日期比较?

SELECT *
FROM reservations
WHERE reserved='yes' AND confirmed='no' AND
      datetime > now() - interval 3 day AND datetime <= now() - interval 2 day;


这将仅返回要联系的行,因此在应用程序端不需要其他逻辑(对于datetime)。

10-07 12:33
查看更多