簡體   English   中英

通過比較日期時間查詢以檢查預訂可用性

[英]Query to check booking availability by comparing datetimes

我正在設計汽車預訂系統,並且試圖編寫一個查詢來檢查汽車是否可用。 我希望查詢用英語進行的操作是檢查存儲在變量$ mysql_startdate和$ mysql_enddate中的所選開始和結束租金是否與任何現有預訂不重疊。

我檢查了查詢中的變量是否具有應有的值,因此我猜我的語法有問題,很可能是最后一部分。

日期時間變量的格式:

$ mysql_startdate = 2012-03-22 00:00 $ mysql_enddate = 2012-03-23 00:00

我沒有從mysql_error收到任何錯誤,問題是即使請求有可用的汽車也沒有結果顯示。

$query = "SELECT c.*,b.startHire,b.endHire FROM cars c JOIN bookings b WHERE c.currentBranch = '$pickUpLocation' AND NOT (b.startHire > '$mysql_enddate' OR b.endHire < '$mysql_startdate')";

數據庫中的startHire和endHire字段設置為datetime,格式為-2012-03-02 00:00:00,等等。

您可以幫助我確定問題並修改sql查詢嗎?

讓我知道您是否需要其他代碼/信息。

謝謝!

試試看:

SELECT c.*, b.startHire, b.endHire 
FROM cars c JOIN bookings b 
WHERE c.currentBranch = '$pickUpLocation' 
AND NOT b.startHire between '$mysql_startdate' and '$mysql_enddate'
and not b.endHire between '$mysql_startdate' and '$mysql_enddate'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM