<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,$miesiac1$rok));
    
$pierwszy_dzien_miesiaca = ($pierwszy_dzien_miesiaca == 0) ? $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($i7) == 0) ? '</tr><tr class="calendar_3">' '') . '<td class="' . ((($i $pierwszy_dzien_miesiaca 2) == $dzien_miesiaca) ? 'active' '') . '">' . ($i $pierwszy_dzien_miesiaca 2) . '</td>';
    }
?>
    </tr>
</table>