2016-02-26 43 views
-2

我想检查入住和退房日期之间是否有其他房间可用。如果在提交日期之间还预订了单日,则不应包含该房间。图像显示预订的房间。如果我输入查询日期像2016年5月16日和退房日期像2016年5月21日再总额不预订的房间应该回答的9家酒店ID = 1个 image酒店房间供应

我的代码是喜欢 -

= '$ i' 和END_DATE = '$ I')和HOTEL_ID = '1'“); $行=和mysql_fetch_row($ SEL); $计数[] = $行[0]; 回声。
” $ $ i行[0];} 的foreach ($计为$ C) { 回声 “
---” $ C;? } >
+1

你试过写一些代码吗?你可以发布吗? – purplepsycho

+0

欢迎来到Stack Overflow!请参阅[游览](http://stackoverflow.com/tour)并阅读[如何提问](http://stackoverflow.com/help/how-to-ask),以了解我们对此问题的期望。请注意,我们不提供从头编码服务。请告诉我们您已经尝试过的方式,失败的方式以及我们可能会提供的帮助。 – jurgemaister

+0

是的,我曾尝试这样的代码:为($ I = $ _ POST [ '开始']; $ I <= $ _ POST [ '端']; $ I ++) \t \t { \t \t // $ SEL =的mysql_query( “从tbl_room_book中选择book_id,其中(start_date> ='$ i'和end_date <='$ i')或(start_date <='$ i'和end_date> ='$ i')和hotel_id ='1'”); \t \t \t \t $ rows = mysql_fetch_row($ sel); \t \t $ count [] = $ rows [0]; \t \t echo'
'。$ i。$ rows [0]; \t \t} \t \t的foreach($计为$ C) \t \t { \t \t \t回声 “
---” $ C。; \t \t} – anjana

回答

0

我不知道你正在使用的SQL,所以我会做一般性的方法来帮助你。

您需要的是SQL BETWEEN Operator,其部分负值,NOT BETWEEN为了检查房间是否为空。

逻辑是,我想查询每个空房间,这意味着今天的日期不应该在入住和退房日期之间。

您的查询应该是这个样子:

SELECT * FROM TableName 
WHERE NOW() NOT BETWEEN start_date AND end_date; 

为建议,我建议你阅读How to Ask以在未来获得更准确的帮助。

希望这对你有所帮助:)