I wrote this today, guessed I would share it..
[code=php]
<?php
$year = date(“Y”, time());
for($month = 1; $month <= 12; $month++)
{
?>
<table border=”1″ cellpadding=”2″ cellspacing=”2″>
<tr>
<td colspan=”7″ align=”center”><?php echo date(“F”, mktime(0, 0, 0, $month, 1, $year)); ?></td>
</tr>
<tr>
<td width=”40″ align=”center”>Mon</td>
<td width=”40″ align=”center”>Tue</td>
<td width=”40″ align=”center”>Wed</td>
<td width=”40″ align=”center”>Thu</td>
<td width=”40″ align=”center”>Fri</td>
<td width=”40″ align=”center”>Sat</td>
<td width=”40″ align=”center”>Sun</td>
</tr>
<tr>
<?php
$days_in_the_month = cal_days_in_month(CAL_GREGORIAN, $month, $year);
for($day = 1; $day <= $days_in_the_month; $day++)
{
$day_of_the_week = (int)date(“w”, mktime(0, 0, 0, $month, $day, $year));
if($day == 1)
echo str_repeat(“<td> </td>”, ((($day_of_the_week+7)-1)%7));
?>
<td align=”center”><?php echo $day; ?></td>
<?php
if($day_of_the_week == 0 && $day != $days_in_the_month)
{
?>
</tr><tr>
<?php
}
}
// Finish off by filling in the missing TD’s
echo str_repeat(“<td> </td>”, ((7-$day_of_the_week)%7));
?>
</tr>
</table>
<br>
<br>
<?php
}
?>