gpt4 book ai didi

mysql - 帮助查询各自酒店下特定日期之间的免费客房分组

转载 作者:行者123 更新时间:2023-11-29 15:06:17 25 4
gpt4 key购买 nike

我正在构建一个在线酒店预订系统....使用php和mysql....用户可以搜索和预订特定位置的酒店..搜索条件为
1. 城市或国家
2. 入住和退房日期
3. 入住人数
我的 sql 架构如下...

  1. 表格:酒店
    hotel_id
    酒店名称
    国家/地区 ID
    city_id

  2. 表:房间
    room_id
    hotel_id
    房间名称
    房间价格
    max_guests_allowed
    no_total_rooms
    no_booked_rooms

  3. 表格:预订
    预订_id
    room_id
    hotel_id
    入住日期
    check_out_date

查询两个给定日期之间的空闲房间,并且可以容纳等于或超过人数的房间。用户指定的人员:

SELECT rooms.room_id, 
rooms.room_name,
rooms.max_guests_allowed,
rooms.room_price,
hotels.hotel_id,
hotels.hotel_name
FROM hotel,rooms
WHERE rooms.id NOT IN (SELECT room_id
FROM reservations
WHERE check_in_date < '$arrivalDate'
AND check_out_date > '$leaveDate')
AND rooms.max_guests_allowed >= '$no_of_guests';

现在...我必须显示结果,例如...

1. Hotel 1 
Room 1 No. of Rooms Free Price Max. Guests Allowed
Room 2 No. of Rooms Free Price Max. Guests Allowed
Room 3 No. of Rooms Free Price Max. Guests Allowed

2. Hotel 2
Room 1 No. of Rooms Free Price Max. Guests Allowed
Room 2 No. of Rooms Free Price Max. Guests Allowed
Room 3 No. of Rooms Free Price Max. Guests Allowed

etc.. etc...

我应该如何修改我的查询以将房间分组到酒店下,就像我上面提到的......???提前非常感谢......

最佳答案

我可能稍微误解了这个问题/查询,但你不能添加:

ORDER BY hotels.hotel_name ASC,rooms.room_name ASC

到查询的最后给你酒店的结果然后房间订单?

编辑以原始格式显示,您可以使用一些与此类似的代码。我在这里用 PHP 完成了它,因为您没有指定您使用的语言:

$currentHotel = -1;
while ($row = mysql_fetch_array())
{
if ($row["hotel_id"] != $currentHotel)
{
print "Hotel " . $row["hotel_id"] . "\n";
$currentHotel = $row["hotel_id"];
}

// print your room details out here
print "Room " . $row["room_name"];

// ...
}

关于mysql - 帮助查询各自酒店下特定日期之间的免费客房分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com