我正在尝试使用MySQL表中的数据制作一个时间表,该表中有每个事件的一天,开始和结束时间。在创建时间表时遇到问题
我现在的逻辑是这样的。
查找与周一的所有事件,放在一个阵列周一 查找与周二的所有事件,放在一个阵列周二
等
然后我每个阵列上运行的每个循环去通过当天的每个时间段(9-5),并且如果它与当前事件匹配,则创建一个表格单元格,如果不创建并清空单元格,并且最后如果事件持续时间长于1 slott,则不放置任何东西。这里是我上面的代码:
function createTableEvent($day,$previousfinish)
{
$completeDay = '';
$day = explode(',',$day);
$ev = $day[0];
$start = $day[1];
$end = $day[2];
$event = "<div class=\"table_event\">$ev<br>Starts:$start<br>Ends:$end<br></div>";
$times= array('09','10','11','12','13','14','15','16','17');
//TIMES
foreach ($times as $time)
{
if($start == $time.":00" && $previousfinish == !)
{
$completeDay .= "<td class=\"$time\" colspan=\"$end\">
<div class=\"table_event\">$event</div></td>";
$previousfinish = $end;
}
else if($previousfinish > 1
{
}
else
{
$completeDay .= "<td class=\"$time\" colspan=\"1\"></td>";
}
}
return $completeDay;
}
的原因我想跳过电池如果超过1是因为如果一个事件运行超过一个块,我列跨度设定的时间事件,因为如果前一个事件超过一个街区,它将不会再次放入一个单元格。
我的输出适用于单小时事件,但不是当一天有说1 2小时事件和第2小时事件时。我的代码仍然使应该为空的时间的额外单元格。
任何输入或帮助将是非常有用的