我尝试建立一个带有项目的预订系统(即Beamers),现在我想用AJAX检查给定的item_id在给定的开始和结束用户期间是否可用
编辑:有点不清楚,我想用MySQL和PHP来做,AJAX只是我请求结果的方式(可用是/否)
我该怎么做?
我的表看起来像'这样':
reservation_id int PK
reservation_createDate datetime
reservation_startDate datetime
reservation_endDate datetime
item_id int FK(items.item_id)
假设我在数据库中已经有以下'保留': (为方便起见,所有item_id = 1)
reservation_id 1, item_id 1, from 2011-7-10 till 2011-7-14
reservation_id 2, item_id 1, from 2011-7-14 till 2011-7-16
reservation_id 3, item_id 1, from 2011-7-16 till 2011-7-20
并且用户想要在2011-7-12至2011-7-18之间保留item_id 1,正如您所看到的那样,由于所有3个预订都在路上,所以不会去。 我如何用MySQL做到这一点?
答案 0 :(得分:3)
SELECT COUNT(*)<1 AS Available FROM `TABLE` WHERE (`startDate`>CHECKING_START_TIME AND `startDate`<CHECKING_END_TIME) OR (`endDate`>CHECKING_START_TIME AND `endDate`<CHECKING_END_TIME) OR (`startDate`<CHECKING_START_TIME AND `endDate`>CHECKING_END_TIME)
如果结果大于0,则存在重叠