
15.05.2009, 23:46
|
|
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
С нами:
10635912
Репутация:
103
|
|
Нужно добавить переключение по месяцам...
Т.е должны быть "<" - на месяц назад и ">" - месяц вперед
Уже всю голову сломал...
PHP код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Календарь</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<body>
<?php
include("blocks/bd.php");
// Функция для проверки имеются ли новости по определенной дате
function url ($date){
$result = mysql_query ("SELECT date FROM news WHERE date='$date'");
$numrow = mysql_num_rows ($result);
return $numrow;
}
//Вычисляем дату
$td = "<td align='right' class='a1'>";
$day = date ('d'); // день месяца
$month = date ('m'); // месяц
$year = date ('Y'); // год пример 1970
$end_day = date ('t'); // количество дней в месяце
$one_day = date ('w'); // номер дня недели от 0 до 6
// Присваиваем каждому месяцу название
switch ($month){
case 0:
$month_s='Декабрь';
break;
case 1:
$month_s='Январь';
break;
case 2:
$month_s='Февраль';
break;
case 3:
$month_s='Март';
break;
case 4:
$month_s='Апрель';
break;
case 5:
$month_s='Май';
break;
case 6:
$month_s='Июнь';
break;
case 7:
$month_s='Июль';
break;
case 8:
$month_s='Август';
break;
case 9:
$month_s='Сентябрь';
break;
case 10:
$month_s='Октябрь';
break;
case 11:
$month_s='Ноябрь';
break;
}
//Рисуем таблицу
$calendar = "<table align='center' border='0' cellpadding='0' cellspacing='0' class='a2'>
<tr><td>
<table border='0' cellspacing='1' cellpadding='2' width='100%'>
<tr>
<td align='center' colspan='7' class='a3'>
<font class='a4'>
<b> $month_s $year </b></font></td>
</tr>
<tr>
<td align='center' class='a5'>Пн</td>
<td align='center' class='a5'>Вт</td>
<td align='center' class='a5'>Ср</td>
<td align='center' class='a5'>Чт</td>
<td align='center' class='a5'>Пт</td>
<td align='center' class='a5'>Сб</td>
<td align='center' class='a5'>Вс</td>
</tr>";
//Цикл заполнения календаря
for ( $i = 1; $i <= $end_day+$one_day; $i++)
{
if ($x==0){$x=7;}
$x--;
$a = $i- $one_day;
$date = $year."-".$month."-".$a;
// Делаем дни что не существуют в начале пустыми
if ($one_day> $i or $a<1){$calendar .= "$td</td>";}
// Суббота
elseif ($i==6 or $i==13 or $i==20 or $i==27 or $i==34){
//Сегодняшний день если суббота
if ($i==$day+$one_day){
// Делаем числа не имеющие новостей не ссылками
if (url($date) > 0)
{
$a = "<font class='a4'><a href='index.php?date=$date'>$a</a></font>";
}
else
{
$a = "<font class='a4'>$a</font>";
}
}
// Делаем числа не имеющие новостей не ссылками
if (url($date) > 0)
{
$calendar .= "$td <a href='index.php?date=$date'>$a</a> </td>\n";
}
else
{
$calendar .= "$td $a</td>\n";
}
}
// Воскресенье + достройка таблицы
elseif ($i==7 or $i==14 or $i==21 or $i==28 or $i==35){
// Делаем числа не имеющие новостей не ссылками
if (url($date) > 0)
{
$calendar .= "$td <a href='index.php?date=$date'>$a</a> </td></tr><tr>";
}
else
{
$calendar .= "$td $a </td></tr><tr>";
}
}
// Сегодняшний день если воскресенье
elseif ($i==$day+$one_day){
// Делаем числа не имеющие новостей не ссылками
if (url($date) > 0)
{
$calendar .= "<td align='right' class='a7'><font class='forums'><a href='index.php?date=$date'>$a</a></font></td>";
}
else
{
$calendar .= "<td align='right' class='a7'><font class='forums'>$a</font></td>";
}
}
// Выводим все остальные дни
else {
// Делаем числа не имеющие новостей не ссылками
if (url($date) > 0)
{
$calendar .= "$td <a href='index.php?date=$date'>$a</a> </td>";
}
else
{
$calendar .= "$td $a </td>";
}
}
}
// Делаем дни что не существуют в конце пустыми
if ($x!=0){
for ( $i = 0; $i < $x; $i++){ $calendar .= "$td</td>"; }
}
$calendar .= "</table></td></tr></table>";
echo $calendar;
?>
|
|
|