Если вы хотите объединить все записи вместе, вам нужно будет создать массив дней (я создаю его с помощью array_fill()
и задаю для каждого "N", чтобы начать).
Затем вы перебираете каждую строку результатов и добавляете Y к соответствующим элементам.Затем вы переходите от начала к концу дня, используя цикл for()
, чтобы заполнить дни символом Y.
Наконец, вы можете вывести массив $dates
, в который добавлены все различные строки.в него.
$dates = array_fill(1, 30, "N");
foreach ($timesheet->result_array() as $result) {
$start = (int)$result['start_date']->format('d');
$end = (int)$result['end_date']->format('d');
for ( $i = $start; $i <= $end; $i++ ) {
$dates[$i] = "Y";
}
}
foreach ( $dates as $day ) {
if($day == "Y") {
echo "<td class='bg-warning'>Y</td>";
}else{
echo "<td>N</td>";
}
}
Возможно, вы захотите изменить array_fill()
на правильное количество дней в месяце, с которым вы работаете, но это то, что вы можете отсортировать по мере необходимости.это.