Kalendář s možností listování -
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, $month, 1, $year));
$month = Date("m", MkTime(0,0,0, $month, 1, $year));
$count_days = Date("t", MkTime(0,0,0, $month, 1, $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 . '"><<</a> ';
echo $month . " / " . $year;
echo ' <a href="kalendar_bez_odkazu.php?month=' . ($month+1) . '&year=' . $year . '">>></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 " ";
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