Php Mysql join返回多行结果,而不是每个实例一行
我有三张桌子:tbl_天、tbl_时段和tbl_预订,如下所示 顾客应该在一天内预订一个时段 我正在使用以下查询:Php Mysql join返回多行结果,而不是每个实例一行,php,mysql,datatable,Php,Mysql,Datatable,我有三张桌子:tbl_天、tbl_时段和tbl_预订,如下所示 顾客应该在一天内预订一个时段 我正在使用以下查询: $slots = $this->common->slots(); if ($slots != NULL) { foreach ($slots as $C): $start = $C->start; $stop = $C->stop; $
$slots = $this->common->slots();
if ($slots != NULL) {
foreach ($slots as $C):
$start = $C->start;
$stop = $C->stop;
$slotspace= $start." to ".$stop;
$available='Available';
$booked ='Booked';
$sum_col[] = " IF(tbl_bookings.slot_id =". $C->id.",'".$booked."','".$available."') AS '" . $slotspace . "'";
endforeach; }
$sqlquery = $this->db->query("SELECT tbl_days.date_day,
" . implode(",", $sum_col) . "
FROM tbl_days
LEFT JOIN tbl_bookings ON tbl_bookings.date = tbl_days.date_day
LEFT JOIN tbl_slots ON tbl_slots.id = tbl_bookings.slot_id
LEFT JOIN tbl_fields ON tbl_fields.id = tbl_bookings.field_id
");
return $sqlquery->result();
但是,结果显示为:
预期结果应为:
请注意在同一日期多行上如何显示预订信息
请注意,我使用的是数据表。所以每个条目都显示在一个新行中,而不是一行中相互连接的所有条目,对吗?我在过去也遇到过同样的问题,解决方法是第二次
foreach
。第二个应该查看所有记录,看看一个是否连接到另一个
请参阅我的问题:我已经看过了,不幸的是,它没有解决我的问题。