2011-11-10 111 views
4

我在這裏遇到了一些問題。PHP檢查日期是否過去30天

我在數據庫中插入日期:date_last_applied

當然,我可以通過使用$row['date_last_applied']來調用它。現在,我需要檢查此插入日期是否爲30天前,如果是,請執行操作。

$query = "SELECT date_last_applied FROM applicants WHERE memberID='$id'"; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)) { 
    $date = strtotime($row['date_last_applied']); 

} 

這就是我所有的。我嘗試了一些東西,但都失敗了。 :(

回答

15
if ($date < strtotime('-30 days')) 

日期如果您在只有執行動作日期超過30天,你應該使用Marco的解決方案。

+1

PHP解決方案是正確的,也許OP需要那個。 ) – Marco

+0

+1對你來說也是如此......他不清楚他需要什麼。 :-D儘管我知道,他可能在30天前想要* *,但我想不出任何人有這種需要的時候。 – Brad

+0

謝謝!我不敢相信這是一個簡單的代碼。 :P –

9

你可以通過SQL得到這樣做只是在最近30天

SELECT date_last_applied 
FROM applicants 
WHERE memberID = your_id 
    AND date_last_applied BETWEEN 
     DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() 

或超過30天

SELECT date_last_applied 
FROM applicants 
WHERE memberID = your_id 
    AND date_last_applied < DATE_SUB(NOW(), INTERVAL 30 DAY) 
+0

我也在執行代碼f或者當它不是30天前。我還需要其他項目的解決方案,謝謝! –

+0

好的...我現在需要這個代碼,但它絕對不會工作..:/ 我使用的'時間()'格式,這可能會導致此(雖然我認爲它不應該)。無論我做什麼,它總是回報正面。 –

+0

@Aart:我不明白你在哪裏使用'time()';我的查詢返回記錄數據庫中的日期介於當前日期/時間和30天前...所以它使用天...如果你只使用時間,它不能工作...讓我更好地理解... – Marco