2017-01-03 52 views
-1

所以通過每一個單篇文章/問題3小時睡覺和去後,有這個,但我根本無法得到它的工作。我的日期列是Y-m-d格式,我試圖得到的是表格中規定的可用日期的兩週內的所有行。SQL/PHP返回行是年長超過2周

這是我已經得到了它最接近的,但它不返回所有行仍。

$date = date('Y-m-d',time()+(14*86400)); 
SELECT * FROM table_claims WHERE date_available > '$date' 

解決方案,這將使我的一天更容易,謝謝!

+3

你確定你的意思是'狀態date_available>「$ date'',而不是'date_available < 「$ date''?你正在尋找OLDER的行,對嗎? –

+0

啊,我想我需要良好的睡眠,感謝@DaanMeijer – Ale

回答

1

使用

$date = date('Y-m-d',time()-(14*86400)); 

將產生兩週前$日期。

您也可以在SQL查詢中使用MYSQL功能:

SELECT * FROM table_claims WHERE date_available < DATE_ADD(CURDATE(),INTERVAL -2 WEEK) 
+1

變化'>'的'<',這將是正確的答案。 – ICE

1

哎@Ale如果你想獲得過去的時間(周,分,秒)像 你想周的情況下, ,所以你可以使用格式=>的strtotime(「 - 2周/數 - 1 分鐘」)等,它會給你該時間戳

現在在你的情況下,嘗試以下之一:

<?php 
    $date = date("Y-m-d", strtotime("- 2 weeks")); 
    SELECT * FROM table_claims WHERE date_available < '$date' 
?> 

它會給所有超過兩個星期date_available較小或者你可以根據你的邏輯改變你(Y)

+0

OP在問題示例中犯了同樣的錯誤。兩週以上意味着不超過兩週不超過兩週。 – ICE

+1

好,所以檢查更新的一個 –

相關問題