PHP календар
Автор: tu6o
Ще направим само един файл (calendar.php)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Calendar</title>
</head>
<body>
<?php
$y=$_GET[y];
$m=$_GET[m];
$d=$_GET[d];
if ($m==13) { $m=1; $y++; }
else if (($m>13) || ($m<0) || (empty($y))) $m=date("n"); //ако стойноста за m е извън допустимите или празна, вземаме текущия месец
else if ($m==0) {$m=12; $y--; }
if (empty($y))$y=date("Y");
if (empty($d))$today=date("d");
$year=date("Y");
$month=date("n");
$mmm=$m-1;
$mmmm=$m+1;
$aaa[1]='Януари';
$aaa[2]='Февруари';
$aaa[3]='Март';
$aaa[4]='Април';
$aaa[5]='Май';
$aaa[6]='Юни';
$aaa[7]='Юли';
$aaa[8]='Август';
$aaa[9]='Септември';
$aaa[10]='Октомври';
$aaa[11]='Ноември';
$aaa[12]='Декември';
$maxdays=cal_days_in_month(CAL_GREGORIAN, $m, $y);//намира броя дни в месеца
$startday=JDDayOfWeek(unixtojd(mktime(0, 0, 0, $m, 1, $y)));//определя стартовия ден (неделя=0,пон=1...)
if ($startday==0) $startday=7;//така неделята става седмия ден
echo'<table border="0"> <tr><td colspan="7"><p align="center"><a href="?m='.$mmm.'&y='.$y.'"><<</a>
'.$aaa[$m].' '.$y.' <a href="?m='.$mmmm.'&y='.$y.'">>></a></p></td>
</tr><tr>
<td>Пн</td>
<td>Вт</td>
<td>Ср</td>
<td>Чт</td>
<td>Пт</td>
<td>Сб</td>
<td>Нд</td>
</tr><tr>';
for ($i=1; $i<$startday; $i++)
echo '<td></td>';
for ($d=1; $d<=7-$i+1; $d++){
if (($d==$today) && ($y==$year) && ($m==$month))
echo'<td bgcolor="#6699ff"><font color="white">'.$d.'</font></td>'; //откроява днешната дата
else echo '<td>'.$d.'</td>'; }
echo '</tr>';
for ($p=$d; $p<=$maxdays; $p++) {
if (($p==$today) && ($y==$year) && ($m==$month))
echo'<td bgcolor="#6699ff"><font color="white">'.$p.'</font></td>';//откроява днешната дата
else echo '<td>'.$p.'</td>';
if (($p==$d+6) || ($p==$d+13) || ($p==$d+20) || ($p==$d+27))
echo '</tr><tr>';
}
echo '</tr></table>';
?>
</body>
</html>Урока е авторски!


