我一直在試圖解決這個問題一天。 我甚至放棄了一段時間,因爲我是一個PHP新手,我需要幫助。幫助SQL查詢
這是我的問題: 我有一個查詢,選擇表中'酒店'的所有適當的記錄,然後爲每個酒店查找某個表中'某些類型的預訂房間'和所有這些在某個時間段。 因此,我首先根據搜索表單提供的位置從「hotel_table」中取出所有hotel_id,並對每個hotel_id通過'booked_rooms'表循環。
下面的代碼:
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陣列。 我試着在'foreach'循環中使用JOINS,但也沒有運氣。 我知道這是一個微不足道的問題,但我還在學習,所以任何提示都非常受歡迎。 在此先感謝。
你不需要在where子句的第二部分圍繞括號嗎?否則,這些謂詞的優先級不清楚......? – Codewerks 2008-11-25 03:30:49
當。你是對的。我的意思是添加這些,但分心。它是固定的。 – staticsan 2008-11-25 05:06:39