用PHP编得一个日历程序
公司由于某些原因,需要给一个客户小儿子做个主页,其中需要像册和日记本,而且日记本当得有个日历.. 所以我~~~~

网络日记再加些扩展就成了博客了!

这个只程序只是显示日历,按日期索引还没有做,需要进一步分析.. 这个日历有几个关键算法,几个关键算法掌握了其实这个程序就算是简单的了!

<?
$year = $_GET[y];
$month = $_GET[m];

if($month == null) $month = date("m");
if($day == null) $day = date(
"d");
if($year == null) $year = date(
"Y");

$weekOneDay = date(
"w",mktime(0,0,0,$month,1,$year)); //算出本月份第一天是周几??
$dayNum = date(
"t",mktime(0,0,0,$month,1,$year)); //取得本月的天数
$weekNum = ceil(($dayNum+$weekOneDay+1)/7);
//算出本月份的周数!!

//echo $weekOneDay;
//echo $dayNum;
//echo $weekNum;
//echo $day;
?>
<table width=
"152" border="0" cellpadding="1" cellspacing="1" bgcolor="#006699"]
<tr align=
"center" valign="middle" bgcolor="#FFFFFF"]
<td colspan=
"7"]<? echo $year."年 - ".$month."月"; ?></td>
</tr>
<tr align=
"center" valign="middle" bgcolor="#FFFFFF"]
<td>日</td>
<td>一</td>
<td>二</td>
<td>三</td>
<td>四</td>
<td>五</td>
<td>六</td>
</tr>
<?
$d = 1;
for($i = 1;$i <= $weekNum*7;$i+=7){
?>
<tr align=
"center" valign="middle" bgcolor="#FFFFFF"]
<? for($j = $i;$j < $i+7;$j++) { ?>
<?
if($j >= $weekOneDay+1 && $d <= $dayNum){
if(strlen($d) == 1)
$nowDay =
"0".$d;
else
$nowDay = $d;

if($year == date(
"Y") && $month == date("m") && $nowDay == $day) {
echo
"<td bgcolor=#CCCCCC>";
}else{
echo
"<td bgcolor=#ffffff>";
}

echo $d;

$d++;
}else{
echo
"<td bgcolor=#ffffff>&nbsp;";
}
?></td>
<? } ?>
</tr>
<?
}
?>
<tr align=
"center" valign="middle" bgcolor="#FFFFFF"]
<td colspan=
"3"]
<?
//分页
$fileName =
"calendar.php";
$nextYear = ($year+1);
$prevYear = ($year-1);

if(substr($month,0,1) == 0)
$month = substr($month,1,1);

if(($month+1) > 12) {
$nextMonth = 1;
$nextLinkYear = ($year+1);
}else{
$nextMonth = ($month+1);
$nextLinkYear = $year;
}

if(($month-1) < 1) {
$prevMonth = 12;
$prevLinkYear = ($year-1);
}else{
$prevMonth = ($month-1);
$prevLinkYear = $year;
}

$nextYearUrl = $fileName.
"?y=".$nextYear."&m=".$month;
$prevYearUrl = $fileName.
"?y=".$prevYear."&m=".$month;

$nextMonthUrl = $fileName.
"?y=".$nextLinkYear."&m=".$nextMonth;
$prevMonthUrl = $fileName.
"?y=".$prevLinkYear."&m=".$prevMonth;
?>
<a href=
"<? echo $prevYearUrl; ?>"]<[/url] 年份 <a href="<? echo $nextYearUrl; ?>"]>[/url]</td>
<td><a href=
"<? echo $fileName; ?>?y=<? echo date("Y"); ?>&m=<? echo date("m"); ?>"]><[/url]</td>
<td colspan=
"3"]<a href="<? echo $prevMonthUrl; ?>"]<[/url] 月份 <a href="<? echo $nextMonthUrl; ?>"]>[/url]</td>
</tr>
</table>
meiking   2005-01-14 15:19:31 评论:1   阅读:1494   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

谢智的个人博客 @CSS by self