2014-09-21 75 views
1

我正在制定預訂系統,允許人們通過單擊鏈接72小時(3天)確認其註冊。如果註冊尚未確認,我想在48小時(2天)後發送提醒郵件。如果72小時後(3天)未確認,註冊將從數據庫中刪除。定時發送電子郵件提醒if/else

但是,我不知道如何處理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. 
    } 
} 
?> 

回答

0

爲什麼不在數據庫中進行日期比較?

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

這將返回只有你想聯繫的行,這樣你就不會在應用端需要(爲datetime)附加邏輯。

+1

當然..我看到我讓事情變得複雜不必要 – user3786071 2014-09-21 13:09:01

相關問題