PHP之间2日期

问题描述:

你好,我试图从MySQL
mytable的选择结果日期:
PHP之间2日期

id_room | check_in | CHECK_OUT


问题是,当我想betwwan日起保留数据检查日期2.
例如我的房间的数据:

id_room: ; check_in2014/11/01; CHECK_OUT2014年11月8日

所以我想检查我的预订中,2014年11月3日和2014年11月4日。在系统中,它不会导致那意味着在那个日期没有预订,但是在实际生活中,2014/11/03和2014/11/04必须已经预订。因为2014/11/01的im check_in和2014/11/08的check_out。

我使用

SELECT * FROM tabel WHERE cek_in BETWEEN '2014/11/03' AND '2014/11/04' OR cek_out BETWEEN 2014/11/03' AND '2014/11/04'

因此,如果有任何线索或其他逻辑,请告诉我:d 感谢

+1

是'check_in'和'check_out'列的实际日期列,还是他们只是存储字符串?另外我很抱歉,但我不知道你在问什么。 – Andrew 2014-11-25 14:16:51

+0

@Andrew,我想创建脚本来检查date1和date2之间的预约日期。客户可以通过搜索时间段 – febriyanmf 2014-11-26 02:09:35

如果我理解正确的;这是您要包括重叠的日期预订的一个经典问题:

SELECT * 
    FROM table1 
WHERE cek_out >= '2014-11-03' /* Check OUT >= START of range to check */ 
    AND cek_in <= '2014-11-05' /* Check IN <= END of range to check */; 

UPDATE

所以,你正在运行上面的查询和房间有一个现有的预订

cek_in = '2014-11-01' (<= '2014-11-05') /* OK */ 
cek_out = '2014-11-05' (>= '2014-11-03') /* OK */ 

这应该出现了,你确定你写了正确的查询吗?看评论。

+0

thx来检查解决方案。我试图添加你的SQL,但是当我检查日期'2014年11月3日'和'2014年11月5日',MySQL给空的结果。实际上,Room1已经预订了日期01到日期05. Im很抱歉,不好说明 – febriyanmf 2014-11-26 02:19:26

+0

@febriyanmf请参阅更新 – Arth 2014-11-26 20:17:28