У меня есть php календарь на http://idea -palette.com / aleventcal / calendar.php .
Я хочу, чтобы дни, которые не являются частью текущего месяца, отображались серым цветом (что происходит сейчас), и я хочу, чтобы они отображались как дни предыдущего и следующего месяца.
Как и сейчас, дни, которые появляются до первого дня месяца, отображаются в виде отрицательных чисел (-1, -2, -3 и т. Д.), А дни, которые появляются после последнего дня месяца, просто продолжайте, так что если месяц заканчивается 31-го числа, то он будет читать 32, 33, 34 и т. д.
Я пытаюсь вычислить условный оператор с помощью какого-то цикла, где я могу увидеть, превышает ли он общее количество дней, а затем сделать что-то еще. Проблема, которую я вижу, заключается в том, что создаваемая ячейка таблицы зацикливается, поэтому, если я просто сделаю $ day + 1, то вместо 32 она будет просто читать 33.
Вот мой код:
for($i=0; $i< $total_rows; $i++)
{
for($j=0; $j<7;$j++)
{
$day++;
//if the current day is less or equal to the total days in the month
if($day>0 && $day<=$total_days_of_current_month)
{
$date_form = "$current_year/$current_month/$day";
echo '<div class="date_has_event" href="#"><td';
//If the date is today then give the td cell the 'today' class
if($date_form == $today)
{
echo ' class="today"';
}
//check if any event stored for the date
if(array_key_exists($day,$events))
{
//adding the date_has_event class to the <td> and close it
echo ' class="date_has_event">'.$day;
//adding the eventTitle and eventContent wrapped inside <span> & <li> to <ul>
echo '<div class="events"><ul>'.$events[$day].'</ul></div>';
}
}
else //if the current day is less or more than the total days in the month
{
//then create a table cell with the current day of the mont
echo '<td class="padding">' . $day . ' </td>'; h
}
}
}