繁体   English   中英

如何提供合适的查询以检查房间的可用性

[英]How to provide a suitable query to check room availability

我正在尝试创建一个酒店房间预订应用程序....我已经创建了两个表

  • 由房间编号(PK),房间类型和价格组成的房间表

  • 可用性表,其中包括roomno(FK),房间类型,入住日期和退房日期

到目前为止,我已经创建的PHP代码使我可以检查给定日期特定类型房间的可用性...

$type = $_POST['pincode'];
$cin = $_POST['cin'];
$cout = $_POST['cout'];

$sql="select * from avalability where type = '$type' and cout>='$cin' and cin<='$cout'";
$res=mysqli_query($con,$sql);
$check=mysqli_fetch_array($res);
if(isset($check))
{
echo "rooms not available";
}
else
{
echo "rooms available";
$insert="insert into login.avalability(type,cin,cout) values('$type','$cin','$cout')";
mysqli_query($con,$insert);
}
mysqli_close($con);
?>

现在我的问题是:假设我的房间桌子上有5个单人间,其中一个单人间已预订为3月23日至3月27日,这使得其他4个房间免费。

但是我提供的代码无法解决这个问题……有人可以给我正确的查询以正确检查房间的可用性吗?

我认为您的可用性表并不是真正的可用性,它是保留。 该表中数据的生命周期尚不清楚,但似乎您的查询没有在没有cin或cout的地方进行。

$sql="select * from avalability where type = '$type' and cout>='$cin' and cin<='$cout'"

应该是这样的

$sql="SELECT * FROM avalability WHERE type = '$type' AND ((cout>='$cin' AND cin<='$cout'") OR (cout='' AND cin=''))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM