Inner Join查询PHP问题MySQL

时间:2014-04-18 18:18:11

标签: php mysql sql sql-server

我有两张桌子 1)live_booking表 2)company_car表

公司的汽车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");

2 个答案:

答案 0 :(得分:0)

你可以使用mysqli_num_rows和if语句如果没有结果那么显示所有结果的其余部分

喜欢

     $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

加上选择正确的标签:)

答案 1 :(得分:0)

我只需要使用Left Join而不是inner join。 http://www.w3schools.com/sql/sql_join_left.asp