簡體   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