Kalendář s možností listování - ukázka zdrojového kódu zdrojový kód

<?

// pokud nejsou proměnné zinicializovány, vloží aktuální hodnoty
if(!IsSet($month)) $month Date("m");
if(!IsSet(
$year)) $year Date("Y");

// převod na korektní hodnoty
$year Date("Y"MkTime(0,0,0$month1$year));
$month Date("m"MkTime(0,0,0$month1$year));

$count_days Date("t"MkTime(0,0,0$month1$year)); // počet dnů v měsíci

// ke každému dni přiřadí jeho číslo v týdnu (1 = pondělí, ...)
for($i=1;$i<=$count_days;$i++):
    
$date[$i] = Date("w"MkTime(0,0,0,$month,$i,$year));
    if(
$date[$i]==0$date[$i] = 7;
endfor;

$first $date[1];    // číslo prvního dne v měsíci (1 = pondělí, ...)

?>

<table cellspacing="0" align="center">
<tr><td align="center" colspan="8">

<?

// předchozí, aktuální a následující měsíc
echo '<a href="kalendar_bez_odkazu.php?month=' . ($month-1) . '&year=' $year '">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;';
echo 
$month " / " $year;
echo 
'&nbsp;&nbsp;&nbsp;<a href="kalendar_bez_odkazu.php?month=' . ($month+1) . '&year=' $year .  '">&gt;&gt;</a>';

?>

</td></tr>
<tr><td>T</td><td>Po</td><td>Út</td><td>St</td><td>Čt</td><td>Pá</td><td>So</td><td>Ne</td></tr>

<?

$day 
0;
for(
$x=0;$x<=5;$x++):
    echo 
'<tr><td align="center"><b>';
    echo 
$x+1;
    echo 
'</b></td>';
    
    for(
$i=1;$i<=7;$i++):
        echo 
'<td align="center">';
        
$day $x*7+$i-$first+1// na základě obou cyklů postupně počítá den
        
        
if($date[$day] == $i)
            echo 
$day;
        else
            echo 
"&nbsp;";    

        echo 
'</td>';
    endfor;
    echo 
'</tr>';

    if(!
CheckDate($month$day+1$year)) break; // pokud neexistuje následující datum, ukončí cyklus
endfor;
?>
</table>
Vložil/Poslal/Autor: Admin
Funkčnost: běží na straně serveru, nemělo by záležet na typu prohlížeče
zavřít okno | jít na hlavní stránku JakNaWeb.com