Я застрял в попытке решить эту проблему в течение нескольких дней. Я даже сдаюсь на некоторое время, и, поскольку я новичок в PHP, мне нужна помощь.Помощь по SQL-запросам
Это моя проблема: У меня есть запрос, который выбирает всю соответствующую запись в таблице «отели», а затем для каждого отеля ищет забронированный номер определенного типа в «забронированных комнатах» за столом и все это на определенный период. Итак, сначала я вывожу все hotel_ids из «hotel_table», исходя из местоположения, предоставленного в форме поиска, и для каждого hotel_id я прохожу через таблицу «забронированные комнаты».
Вот код:
if(isset($_GET['book'])){
$sql=mysql_query("SELECT hotel_id FROM 'hotels' WHERE city='$city") or die(mysql_error());
while($row=mysql_fetch_array($sql)){
$sql_2=mysql_query("SELECT * FROM `booked_rooms` WHERE hotel_id='$hotel_id'
AND arrival_date BETWEEN '$arrival_date' AND '$departure_date'
OR departure_date BETWEEN '$arrival_date' AND '$departure_date'")
or die(mysql_error());
}
while($row_2=mysql_fetch_array($sql_2)){
print_r($row_2);
}
}
// $city, $arrival_date and $departure date are values retrieved from the search form
Проблема заключается в том, что я получаю петлю через стол «отель» и получить все hotel_ids соответствующего мест, но не получил ничего с печатью массива $ row_2. Я попытался использовать JOINS в цикле SQL, foreach, но не повезло. Я знаю, что это тривиальные вопросы, но я все еще участвую, поэтому любой отзыв приветствуется. Спасибо заранее.
Вам не нужны скобки вокруг второго раздела вашего предложения where? В противном случае приоритет этих предикатов не ясен ...? – Codewerks 2008-11-25 03:30:49
Dang. Да, ты прав. Я хотел добавить их, но отвлекся. Это фиксированная. – staticsan 2008-11-25 05:06:39