<style>
.calendar { font-family: Verdana; border-spacing: 0; border-collapse: collapse; border:1px solid #CCC; margin:0 auto; text-align:center; }
.calendar_1 td { font-size: 16px; font-weight: bold; color: #444444; padding:10px 0; }
.calendar_2 th { font-size: 10px; font-weight: bold; background-color: #9EDB28; color: #444444; padding:5px; }
.calendar_3 td { font-size: 10px; color: #444444; padding:10px; cursor:pointer; }
.calendar_3:nth-child(odd) td { background: #F0F0F0; }
.calendar_3 td:hover { background:#CCCCCC; }
.calendar_3 td.active { font-size: 10px; font-weight: bold; background-color: #555555; color: #eeeeee; }
</style>
<?PHP
$rok = date("Y"); $miesiac = date("n");
$dni_w_miesiacu = date("t");
$dzien_tygodnia = date("w"); if($dzien_tygodnia == 0) $dzien_tygodnia = 7;
$dzien_miesiaca = date("j");
$pierwszy_dzien_miesiaca = date("w", mktime(0,0,0,$miesiac, 1, $rok));
$pierwszy_dzien_miesiaca = ($pierwszy_dzien_miesiaca == 0) ? 7 : $pierwszy_dzien_miesiaca;
?>
<table class="calendar">
<tr class="calendar_1">
<td colspan="7">
<?=['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'][$miesiac-1];?> <?=$rok;?>
</td>
</tr>
<tr class="calendar_2"><th>pn</th><th>wt</th><th>sr</th><th>cz</th><th>pi</th><th>so</th><th>nd</th></tr>
<tr class="calendar_3">
<?PHP
$j = $dni_w_miesiacu + $pierwszy_dzien_miesiaca - 1;
for($i = 0; $i < $j; $i++)
{
echo ($i < $pierwszy_dzien_miesiaca - 1) ? '<td></td>' : ((fmod($i, 7) == 0) ? '</tr><tr class="calendar_3">' : '') . '<td class="' . ((($i - $pierwszy_dzien_miesiaca + 2) == $dzien_miesiaca) ? 'active' : '') . '">' . ($i - $pierwszy_dzien_miesiaca + 2) . '</td>';
}
?>
</tr>
</table>