我有两个表1) live_booking表2) company_car表
公司车PK是CCD_ 1。预订表中有一个带有car_id的字段供用户输入。
问题是,当用户运行SQL查询时,如果预订表中没有car_id,它不会返回任何结果。但是,如果用户在预订表中显示了car_id则SQL查询会显示所有结果。
我希望如果预订表中没有car_id,那么查询将从预订表中获取剩余字段,并将car字段显示为空白。
$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");
您可以在此处使用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
加上选择权标签:)
我只需要使用左联接而不是内部联接。http://www.w3schools.com/sql/sql_join_left.asp