<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>