Я пытаюсь сделать расписание, используя данные в таблице MySQL, в которой есть день, начало и durtaion каждого события.Не удалось создать расписание
Моя логика в данный момент выглядит следующим образом.
Найти все события с понедельником, положить в массиве для понедельника Найти все события со вторником, положить в массиве для вторнике
и т.д.
тогда я запустить для каждого цикла на каждый массиве идти через каждый временной интервал в день (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, потому что, если событие проходит в течение более чем одного блока, я установить продолжительность столбца продолжительность событие, там для него shhouldnt поместить ячейку в следующий раз, если предыдущее событие было длиннее одного блока.
Мой выход работает для одночасовых событий, однако не в день, когда говорят 1 час и 2-е 1-часовое событие. Мой код по-прежнему делает лишние ячейки для времени, которое должно быть пустым.
Любой вход или помощь будет очень полезна