Stanload: Kalender-Skript: letzter Tag (Mo.) im Monat wird nicht angezeigt

Beitrag lesen

So, hier das Skript noch einmal ein bissel leserlicher *g*:

<?php
$month = (isset($_GET['y']) && preg_match('/^\d{1,2}$/',$_GET['m']) && $_GET['m'] < 13) ? $_GET['m'] : date('n');
$year = (isset($_GET['y']) && preg_match('/^\d{4}$/',$_GET['y'])) ? $_GET['y'] : date('Y');
$days = date('t',mktime(0,0,0,$month,1,$year));

$start_col = date('w',mktime(0,0,0,$month,1,$year))-1;

$rows = ceil($days/7);

$day=1;

$arr_month = array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');

echo '<table id="calendar">';

$prev_month = ($month==1) ? 12 : $month-1;
$prev_year = ($month==1) ? $year-1 : $year;

$next_month = ($month==12) ? 1 : $month+1;
$next_year = ($month==12) ? $year+1 : $year;

echo '<tr><th><a href="'.basename($_SERVER['PHP_SELF']).'?m='.$prev_month.'&amp;y='.$prev_year.'">&laquo;</a></th><th colspan="5">'.$arr_month[$month-1].' '.$year.'</th><th><a href="'.basename($_SERVER['PHP_SELF']).'?m='.$next_month.'&amp;y='.$next_year.'">&raquo;</a></th></tr>';

echo '<tr><td class="header">Mo</td><td class="header">Di</td><td class="header">Mi</td><td class="header">Do</td><td class="header">Fr</td><td class="header">Sa</td><td class="header">So</td></tr>';

for($a=0;$a<$rows;$a++)
{
echo '<tr>';

$start_col = ($start_col == -1) ? 6 : $start_col;

if($start_col>0 && $day==1)
{
  for($aa=$start_col;$aa>0;$aa--)
  { echo '<td>&nbsp;</td>'; }
}

for($b=$start_col;$b<7;$b++)
{
  $s_day = ($day == date('j') && $month = date('n') && $year == date('Y')) ? '<td class="today">'.$day.'</td>' : '<td>'.$day.'</td>';
  echo ($day>$days) ? '<td>&nbsp;</td>' : $s_day;
  $day++;
}

echo '</tr>';
$start_col = 0;
}

echo '</table>';
?>

Bis denn

Stanload