| | Спасибо. Исправил, все работает.
Но теперь другая ошибка, все работает отлично при просмотре прошлого месяца (дни с новостями отображаются), а в текущем месяце нет..)) В чем причина ошибки?
Спасибо.
Вот код:
<?php
include "inc/s.inc.php";
function rus_format($denned)
{
if($denned==0) $denned=7;
return $denned;
}
$month = (isset($month)) ? $month : date("m",time());
$year = (isset($year)) ? $year : date("Y",time());
$daylong = date("l",mktime(1,1,1,$month,$today,$year)); //день недели текст англ.
$monthlong = date("F",mktime(1,1,1,$month,$today,$year)); //название месяца англ.
$dayone = date("w",mktime(1,1,1,$month,1,$year)); //день недели цифрой
$numdays = date("t",mktime(1,1,1,$month,1,$year)); //количество дней в месяце
$alldays = array('Пн','Вт','Ср','Чт','Пт','<font color=#804040>Сб</font>','<font color=#804040>Вс</font>');
$next_month = mktime(0, 0, 0, ($month+1), 7, $year);
$last_month = mktime(0, 0, 0, ($month-1), 7, $year);
if ($today > $numdays) { $today--; }
if($month == "1" ){$month_ru="Январь";}
elseif($month == "2" ){$month_ru="Февраль";}
elseif($month == "3" ){$month_ru="Март";}
elseif($month == "4" ){$month_ru="Апрель";}
elseif($month == "5" ){$month_ru="Май";}
elseif($month == "6" ){$month_ru="Июнь";}
elseif($month == "7" ){$month_ru="Июль";}
elseif($month == "8" ){$month_ru="Август";}
elseif($month == "9" ){$month_ru="Сентябрь";}
elseif($month == "10"){$month_ru="Октябрь";}
elseif($month == "11"){$month_ru="Ноябрь";}
elseif($month == "12"){$month_ru="Декабрь";}
echo "<table border=0 cellpadding=4 cellspacing=1 width=100%>";
//выводим название месяца
echo "<table border=0 cellpadding=4 cellspacing=1 width=100%>";
echo "<tr bgcolor=#E7EBEF><td align=center><a href=".$PHP_SELF."?year=".date('Y', $last_month)."&month=".date("m", $last_month)." title='Предыдущий месяц'>«</a></td>";
echo "<td width=100% colspan=\"5\" valign=\"middle\" align=\"center\"><b>".$month_ru." ".$year." г.</b></td>";
echo "<td align=center><a href=".$PHP_SELF."?year=".date('Y', $next_month)."&month=".date('m', $next_month)." title='Следующий месяц'>»</a></td>";
echo "</tr></table>";
$denned1day = rus_format(date("w",mktime(1,1,1,$month,1,$year)));
$dennedNOWday = rus_format(date("w",mktime(1,1,1,$month,$today,$year)));
$dennedLASTday = rus_format(date("w",mktime(1,1,1,$month,$numdays,$year)));
$num_of_zero_days = 7 - $dennedLASTday;
$days=array();
echo "<table border=0 cellpadding=3 cellspacing=3 width=100%><tr>";
//выводим дни недели
foreach($alldays as $value)
{
echo "<td valign=middle align=center>
<b>".$value."</b></td>";
}
echo "</tr><tr>";
//выводим пустые дни месяца как пробелы
echo "<tr>";
for($z=1;$z<$denned1day;$z++)
{
echo "<td valign=middle align=center> </td>\n";
}
//выводим дни месяца
for($d=1;$d<=$numdays;$d++)
{
$days[$d]=rus_format(date("w",mktime(1,1,1,$month,$d,$year)));
if($days[$d]==1)
echo "<tr>";
{
echo "<td valign=\"middle\" align=\"center\">";
$news_date = $year."-".$month."-".$d;
$query = "select * from news where date(data) = '".$news_date."'";
$result = mysql_query($query) or die("Error:<b> ". mysql_error()." </b>in file <b>".__FILE__."</b> on line <b>".__LINE__);
$news_rows = mysql_num_rows($result);
if($news_rows <> 0)
{
echo "<a href=\"".$_SERVER['PHP_SELF']."?year=".$year."&day=".$d."&month=".$month."\"><u>".$d."</u></a>";
}
else
{
echo $d;
}
echo "</td>";
}
if($days[$d]==7) echo "</tr>";
}
for($z=0;$z<$num_of_zero_days;$z++)
{
echo "<td valign=middle align=center> </td>";
}
echo "</tr></table>";
?>
|
| |