Я создаю систему бронирования онлайн-отелей.... Используя php и mysql.... Пользователи могут искать и заказывать отели в определенном месте.. Критерии поиска будут
1. Город или страна
2. Дата заезда и выезда
3. Количество гостей
Моя схема sql выглядит следующим образом.
Таблица: отели
hotel_id
hotel_name
country_id
city_id
Таблица: комнаты
room_id
hotel_id
room_name
room_price
max_guests_allowed
no_total_rooms
no_booked_rooms
Таблица: бронирование
booking_id
room_id
hotel_id
check_in_date
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"];
// ...
}