2014-04-18 66 views
0

我有兩個表 1)live_booking表 2)company_car表內部聯接查詢PHP MySQL的問題

公司汽車PK爲car_id。預訂表中有一個字段,其中car_id供用戶輸入。

問題是,當用戶運行SQL查詢時,如果預訂表中沒有car_id,它不會返回任何結果,但是如果car_id由用戶提供到預訂表中,那麼SQL查詢會顯示所有結果。

我希望如果預訂表中沒有car_id,那麼查詢將從預訂表中獲取剩餘的字段並將汽車字段顯示爲空白。

$bookingid = $_GET['id']; 

$result = mysqli_query($con, " 
SELECT 

live_booking.booking_id, live_booking.booking_time, live_booking.booking_date, live_booking.id_mobile,live_booking.reservation_time, live_booking.car_id, 

company_cars.car_driver, company_cars.car_make, company_cars.car_model, 

customer.eu_name 


FROM live_booking live_booking 
inner join customer customer on customer.id_mobile = live_booking.id_mobile 

inner join company_cars company_cars on company_cars.car_id = live_booking.car_id 

WHERE booking_id = $bookingid"); 
+0

刪除sql server標記,你的php提示mysql。 – Mihai

+0

INNER JOIN查找兩個數據庫之間通用的記錄。你可能想要一個LEFT JOIN。有關更多信息,請參閱http://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-and-full-join。 LEFT JOIN會給你第一張表的所有記錄,然後加入額外表中的字段。 – DragonYen

+0

爲什麼要將表格與car_id和id_mobile鏈接? – Nick

回答

0

可以使用mysqli_num_rows,如果在這裏聲明,如果沒有結果,那麼顯示所有結果的其餘

 $row_cnt = $result->num_rows; 
     if ($row_cnt == 0) 

     { 
     do this 
     } 
     else 
     { 
     do this 
     } 

的更多信息,請查看本 http://www.php.net/manual/en/mysqli-result.num-rows.php

加選擇權標籤:)