У меня есть следующий (упрощенный) код для создания календаря в PHP (представление месяца).Календарь заполнения пустых ячеек
<?php
$d = date_Parse_from_format('Y-m-d',date('Y-m-d',strtotime($_GET['date'])));
// month from date
$month = $d['month'];
// year from date
$year = $d['year'];
// days in month
$days = cal_days_in_month(CAL_GREGORIAN,$month,$year);
// first day
// if sun (7) => 0
// else +1
$firstDay = date('N',strtotime($year.'-'.$month.'-1'));
if($firstDay == 7){
$firstDay = 1;
}else{
$firstDay = $firstDay+1;
};
// last day
$lastDay = $days;
// start day = 1
$day = 1;
// start cell = 1
$cell = 1;
echo '<table border="1" width="700">';
echo '<tr>';
echo '<td>Sun</td><td>Mon</td><td>Tue</td><td>Wed</td><td>Thu</td><td>Fri</td><td>Sat</td>';
echo '</tr>';
for($row=0;$row<ceil((($lastDay+$firstDay)-1)/7);$row++){
echo '<tr>';
for($col=1;$col<=7;$col++){
if($day > $days){ break; };
if($cell < $firstDay){
echo '<td></td>';
$cell++;
}else{
echo '<td>'.$day.'</td>';
$day++;
};
};
echo '</tr>';
};
echo '</table>';
?>
Первые клетки, не принадлежащие к месяцу заполняются пустыми, который работает правильно, но в конце стола есть передышки. Я хочу заполнить оставшиеся дни этой строки пустой ячейкой, но я не могу понять, как это сделать.
Я думаю, что он должен быть здесь, но как:
if($day > $days){ break; };
Я надеюсь, что вопрос ясен, извините за мой английский!