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.'&y='.$prev_year.'">«</a></th><th colspan="5">'.$arr_month[$month-1].' '.$year.'</th><th><a href="'.basename($_SERVER['PHP_SELF']).'?m='.$next_month.'&y='.$next_year.'">»</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> </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> </td>' : $s_day;
$day++;
}
echo '</tr>';
$start_col = 0;
}
echo '</table>';
?>
Bis denn
Stanload