2016-06-09 191 views
-3

我在保留的PHP網站上練習。我製作了三個標籤,我希望爲今天和未來一週展示預訂。 到目前爲止,我有這樣的MySQL查詢:基於當前日期的結果的SQL查詢

$sql = "SELECT * 
     FROM users 
      LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) 
     WHERE reserveringen.kamertype = 1 
      AND reserveringen.datum <= DATEADD(day,+7, GETDATE())"; 

但我它不顯示任何結果

編輯:

我做了一個if-else語句,如果有結果稱顯示它們別的回聲一條消息說「對未來一週沒有保留」。這是顯示所有預訂查詢,它運行得很好:

$sql = "SELECT * 
     FROM users 
      LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) 
     WHERE reserveringen.kamertype = 1` 
+3

它是如何不工作? –

+1

你能解釋一下哪些工作不正常嗎?你有錯誤嗎?錯誤的結果? – Mureinik

+3

這是什麼數據庫?如何「不工作」? –

回答

0

函數名DATEADD()是TRANSACTSQL功能。在MySQL中它被稱爲DATE_ADD()和參數不同以及

所以這是更可能的工作

$sql = "SELECT * 
     FROM users 
      LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) 
     WHERE reserveringen.kamertype = 1 
      AND reserveringen.datum <= DATE_ADD(CURRDATE(), INTERVAL 7 DAY)"; 
+0

謝謝爲我工作,我今天可以做同樣的事情嗎?比如'INTERVAL 1 DAY',還是會有所不同? – Phundament

+0

這似乎是一個很好的解決方案,請查看[DATE_ADD()']的文檔(https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-添加)還有其他可用於您的時間間隔。還有'DATE_SUB()' – RiggsFolly