Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用MySql检查可用房间_Php_Mysql - Fatal编程技术网

Php 使用MySql检查可用房间

Php 使用MySql检查可用房间,php,mysql,Php,Mysql,大家好。我在网上预订酒店的作业中遇到了一个问题,我的问题是很难查询可用房间。所以我有很多桌子,比如: tbRoom(RoomID,RoomName,...) tbReservation(ResID,ResDate,....) tbReservationDetail(ResID,RoomID,ArrvialDate,DepartureDate,....) 我想在两天之间订一间空房间 那么,我该怎么做?还是需要创建更多的表 请帮帮我,谢谢你的帮助 您可以选择您的预订房间并反转: SELECT *

大家好。我在网上预订酒店的作业中遇到了一个问题,我的问题是很难查询可用房间。所以我有很多桌子,比如:

tbRoom(RoomID,RoomName,...)
tbReservation(ResID,ResDate,....)
tbReservationDetail(ResID,RoomID,ArrvialDate,DepartureDate,....)
我想在两天之间订一间空房间

那么,我该怎么做?还是需要创建更多的表


请帮帮我,谢谢你的帮助

您可以选择您的预订房间并反转:

SELECT * FROM tbRoom WHERE RoomID NOT IN (SELECT RoomID FROM tbReservationDetail WHERE ArrvialDate < yourDate AND DepartureDate > yourDate)

您可以使用上面指定的3个表来获得结果。但你们唯一需要改变的是,你们也必须使用tbReservation表中的RoomID文件

rbRoom->存储不同的房间 tbReservation->预订房间时,此表将包含RoomID和预订ID tbReservationDetail->存储关于到达日期、离开日期等的其他详细信息

然后按照下面的查询进行操作

   SELECT * FROM tbRoom WHERE RoomID NOT IN (SELECT RoomID FROM tbReservation     
   tr,tbReservationDetail td WHERE td.ArrvialDate < yourDate AND 
    td.DepartureDate > yourDate  and tr.RoomID=td.RoomID)

对不起,你的查询不起作用,总是给所有室友打电话,我把日期放在到达日期和离开日期之间…请帮忙,我在等待你的帮助…谢谢你的帮助