gpt4 book ai didi

php - Mysql join 返回多行结果,而不是每个实例返回一行结果

转载 作者:行者123 更新时间:2023-11-29 18:44:41 26 4
gpt4 key购买 nike

我有三个表:tbl_daystbl_slotstbl_bookings,如下所示。

tbl_days - Contains days in a whole year

tbl_slots - Contains hourly timings in a day

tbl_bookings - Contains customer booking data

客户应该在一天内预订一个时段。

我使用以下查询:

$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();

但是,结果显示为:enter image description here

预期结果应该是:

enter image description here

请注意同一日期的预订信息如何显示在多行上。

  1. 日期从今天开始(从今天开始的接下来 7 天)

  2. 在一行中显示当天的时段。

  3. 无论是否有预订,都会显示日期,例如日期 29 日。

请帮助我解决这个问题。请注意,我使用数据表。

最佳答案

所以每个条目都会显示在一个新行中,而不是在一行中相互连接的所有内容,对吗?我过去也遇到过同样的问题,解决方案是第二个foreach。第二个应该查看所有记录并查看其中一条是否与另一条记录相关。

查看我的问题:Each value is displayed in a new row HTML table

关于php - Mysql join 返回多行结果,而不是每个实例返回一行结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com