2012-04-17 72 views
0

我正在設計一個實驗室預訂頁面。在那裏我需要一些查詢來檢查用戶選擇的時間的可用性。我正在使用此檢查:需要建議創建一個SQL查詢

select * from slotbook where start between $startTime and $endTime or end between $startTime and $endTime 

其中$ startTime和$ endTime是從php表單發佈的。到現在爲止它很好。但我想要一個更多的功能,即$ startTime應該比最近預訂的時間段多至少10分鐘。這意味着如果之前預訂了一個時間段,其結束時間是下午1:30,並且用戶提交了下午1:35作爲其預訂的開始時間,則應該對其進行檢查。這個查詢需要什麼?

回答

1

如果我理解正確,那麼爲什麼不在運行查詢之前從$ startTime中減去10並在$ endTime中添加10,從而讓您在選定時間的任何一邊都有10分鐘的時間?

+0

我不這麼認爲。你對此有何評論:「select * from slotbook where(startstart between $ startTime and $ endTime or end end between $ startTime and $ endTime)and end> $ extraTime」其中$ extraTime = $ startTime-600,以秒爲單位 – booota 2012-04-17 05:43:06

+0

澄清,你正在檢查分貝,看看是否有任何以前預訂的插槽(在你的參數),如果有,你會通知用戶,他們不能擁有它? – 2012-04-17 05:56:29

+0

是的,此外,實驗室管理團隊還需要10分鐘來重置設備的所有配置,因此下一個實驗室應該比前一個預訂晚10分鐘 – booota 2012-04-17 06:10:53