关于博客日记上的日历 csdn的blog上面的日历都是用javascript实现的, 你可以看一下,他们的页面的源代码,你把里面的javascript部分copy过来就可以用了, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 日期做个连接就可以了。没有日记就显示无或者header到首页。我想。 <?php //写到:假如当日有写日记,就给当日一个<a>连接,方便打开<====有思路,但没有写出来 ?> <?php //<-------处理通过GET方法提交的变量;开始--------> if($HTTP_GET_VARS[year]=="") { $HTTP_GET_VARS[year]=date("Y"); } if($HTTP_GET_VARS[month]=="") { $HTTP_GET_VARS[month]=date("n"); } $month=$HTTP_GET_VARS[month]; $year=$HTTP_GET_VARS[year]; //<-------处理通过GET方法提交的变量;结束--------> if($year<1971) { echo "出错!"; echo "<BR>"; echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]>Back</a>"; exit(); } ?> <table width="200" border="1" cellspacing="0" cellpadding="0" bordercolor="#E7E7E7" style="font-size:12px;"> <tr align="center"><td colspan="2"> <?php //<-------当月份超出1至12时的处理;开始-------> if($month<1) { $month=12; $year-=1; } if($month>12) { $month=1; $year+=1; } //<-------当月份超出1至12时的处理;结束-------> //*************************************** //<---------上一年,下一年,上月,下月的连接处理及输出;开始---------> echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year-1)."&month=".$month."><<</a>年<a href=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year+1)."&month=".$month.">>></a>";?> </td><td colspan="3"><?php echo $year."年".$month."月";?> </td><td colspan="2"><?php echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]?month=".($month-1)."&year=".$year."><<</a>月<a href=$HTTP_SERVER_VARS[PHP_SELF]?month=".($month+1)."&year=".$year.">>></a>"; //<--------上一年,下一年,上月,下月的连接处理及输出;结束---------> ?></td></tr> <tr align=center><td><font color="red">日</font></td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr> <?php $d=date("d"); $FirstDay=date("w",mktime(0,0,0,$month,1,$year));//取得任何一个月的一号是星期几,用于计算一号是由表格的第几格开始 $bgtoday=date("d"); function font_color($month,$today,$year)//用于计算星期天的字体颜色 { $sunday=date("w",mktime(0,0,0,$month,$today,$year)); if($sunday=="0") { $FontColor="red"; } else { $FontColor="black"; } return $FontColor; } function bgcolor($month,$bgtoday,$today_i,$year)//用于计算当日的背景颜色 { $show_today=date("d",mktime(0,0,0,$month,$today_i,$year)); $sys_today=date("d",mktime(0,0,0,$month,$bgtoday,$year)); if($show_today==$sys_today) { $bgcolor="bgcolor=#6699FF"; } else { $bgcolor=""; } return $bgcolor; } function font_style($month,$today,$year)//用于计算星期天的字体风格 { $sunday=date("w",mktime(0,0,0,$month,$today,$year)); if($sunday=="0") { $FontStyle="<strong>"; } else { $FontStyle=""; } return $FontStyle; } for($i=0;$i<=$FirstDay;$i++)//此for用于输出某个月的一号位置 { for($i;$i<$FirstDay;$i++) { echo "<td align=center> </td>\n"; } if($i==$FirstDay) { echo "<td align=center ".bgcolor($month,$bgtoday,1,$year)."><font color=".font_color($month,1,$year).">".font_style($month,1,$year)."1</font></td>\n"; if($FirstDay==6)//判断1号是否星期六 { echo "</tr>"; } } } $countMonth=date("t",mktime(0,0,0,$month,1,$year));//某月的总天数 for($i=2;$i<=$countMonth;$i++)//输出由1号定位,随后2号直至月尾的所有号数 { echo "<td align=center ".bgcolor($month,$bgtoday,$i,$year)."><font color=".font_color($month,$i,$year).">".font_style($month,$i,$year)."$i</font></td>\n"; if(date("w",mktime(0,0,0,$month,$i,$year))==6)//判断该日是否星期六 { echo "</tr>\n"; } } ?> </table> 查询数据库还是必要的!<?php//日历模板,你可以修改他的样式$tpl = <<< TEXT<table border><tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr><colgroup align=right style='color:red'><colgroup align=right span=6>__ROW__</table>TEXT;//其他不易写入模板的参数$info = array( 'sp' => '<td> </td>' /*空单元,若希望空单元不显示边框可写做<td></td>*/, 'today' => 'lime' /*今天的字色*/, 'blog' => 'fuchsia' /*有链接时的背景色*/, /*链接表*/ 'lines' => array( 15 => 'test' /*日 => 目标*/, ),);function date_box($yyyy,$mm,$template,$info) { $sp = $info['sp']; $date = strtotime("$yyyy-$mm-01"); //从传入的年月创建unix时间戳 $w = date('w',$date); //1号是星期几 $t = date('t',$date); //该月天数 $a1 = $w ? array_fill(0,$w,$sp) : array(); //可能存在的前导空格 $a2 = range(1,$t); //日期数组 $j = date("j"); //当前日 foreach($a2 as $k=>$v) { if($v == $j) $v = "<font color=$info[today]>$v</font>"; //设置当前日的颜色 if(isset($info[lines][$v])) $a2[$k] = "<td bgcolor='$info[blog]'><a href='{$info[lines][$v]}'>$v</a></td>"; else $a2[$k] = "<td>$v</td>"; } $a3 = (7-($w+$t)%7)%7 ? array_fill(0,(7-($w+$t)%7)%7,$sp) : array(); //补齐尾部 $a = array_merge($a1,$a2,$a3); //组装成临时数组 $ar = array_chunk($a,7); //拆分临时数组到目标数组,7个单元为一组 foreach($ar as $v) $s .= "<tr>".join("",$v)."</tr>\n"; return str_replace("__ROW__",$s,$template);}echo date_box(2005,1,$tpl,$info);?> 配置zend server和zend studio的问题 博客系统是如何实现的. 数组+数组会是什么结果? zend framework框架中一个关于action的问题 php中日期计算 有没有成都的朋友呀,进来一下,找工作. 我想伪造url,让cnzz统计不到真实的url,这个能实现吗? 求PHP的开发工具一个,能调试的。 空间不支持数据库,求不用数据库的CMS 如何通过修改httpd.conf实现对某个目录的保护? 帮我看看下面的PHP简单程序为什么要出错哦,总是显示链接不成功,谢谢。 急!!php中oracle的问题!!
//写到:假如当日有写日记,就给当日一个<a>连接,方便打开<====有思路,但没有写出来
?>
<?php
//<-------处理通过GET方法提交的变量;开始-------->
if($HTTP_GET_VARS[year]=="")
{
$HTTP_GET_VARS[year]=date("Y");
}
if($HTTP_GET_VARS[month]=="")
{
$HTTP_GET_VARS[month]=date("n");
}
$month=$HTTP_GET_VARS[month];
$year=$HTTP_GET_VARS[year];
//<-------处理通过GET方法提交的变量;结束-------->
if($year<1971)
{
echo "出错!";
echo "<BR>";
echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]>Back</a>";
exit();
}
?>
<table width="200" border="1" cellspacing="0" cellpadding="0" bordercolor="#E7E7E7" style="font-size:12px;">
<tr align="center"><td colspan="2">
<?php
//<-------当月份超出1至12时的处理;开始------->
if($month<1)
{
$month=12;
$year-=1;
}
if($month>12)
{
$month=1;
$year+=1;
}
//<-------当月份超出1至12时的处理;结束------->
//***************************************
//<---------上一年,下一年,上月,下月的连接处理及输出;开始--------->
echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year-1)."&month=".$month."><<</a>年<a href=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year+1)."&month=".$month.">>></a>";?>
</td><td colspan="3"><?php echo $year."年".$month."月";?>
</td><td colspan="2"><?php echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]?month=".($month-1)."&year=".$year."><<</a>月<a href=$HTTP_SERVER_VARS[PHP_SELF]?month=".($month+1)."&year=".$year.">>></a>";
//<--------上一年,下一年,上月,下月的连接处理及输出;结束--------->
?></td></tr>
<tr align=center><td><font color="red">日</font></td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr>
<?php
$d=date("d");
$FirstDay=date("w",mktime(0,0,0,$month,1,$year));//取得任何一个月的一号是星期几,用于计算一号是由表格的第几格开始
$bgtoday=date("d");
function font_color($month,$today,$year)//用于计算星期天的字体颜色
{
$sunday=date("w",mktime(0,0,0,$month,$today,$year));
if($sunday=="0")
{
$FontColor="red";
}
else
{
$FontColor="black";
}
return $FontColor;
}
function bgcolor($month,$bgtoday,$today_i,$year)//用于计算当日的背景颜色
{
$show_today=date("d",mktime(0,0,0,$month,$today_i,$year));
$sys_today=date("d",mktime(0,0,0,$month,$bgtoday,$year));
if($show_today==$sys_today)
{
$bgcolor="bgcolor=#6699FF";
}
else
{
$bgcolor="";
}
return $bgcolor;
}
function font_style($month,$today,$year)//用于计算星期天的字体风格
{
$sunday=date("w",mktime(0,0,0,$month,$today,$year));
if($sunday=="0")
{
$FontStyle="<strong>";
}
else
{
$FontStyle="";
}
return $FontStyle;
}
for($i=0;$i<=$FirstDay;$i++)//此for用于输出某个月的一号位置
{
for($i;$i<$FirstDay;$i++)
{
echo "<td align=center> </td>\n";
}
if($i==$FirstDay)
{
echo "<td align=center ".bgcolor($month,$bgtoday,1,$year)."><font color=".font_color($month,1,$year).">".font_style($month,1,$year)."1</font></td>\n";
if($FirstDay==6)//判断1号是否星期六
{
echo "</tr>";
}
}
}
$countMonth=date("t",mktime(0,0,0,$month,1,$year));//某月的总天数
for($i=2;$i<=$countMonth;$i++)//输出由1号定位,随后2号直至月尾的所有号数
{
echo "<td align=center ".bgcolor($month,$bgtoday,$i,$year)."><font color=".font_color($month,$i,$year).">".font_style($month,$i,$year)."$i</font></td>\n";
if(date("w",mktime(0,0,0,$month,$i,$year))==6)//判断该日是否星期六
{
echo "</tr>\n";
}
} ?>
</table>
//日历模板,你可以修改他的样式
$tpl = <<< TEXT
<table border>
<tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>
<colgroup align=right style='color:red'>
<colgroup align=right span=6>
__ROW__
</table>
TEXT;//其他不易写入模板的参数
$info = array(
'sp' => '<td> </td>' /*空单元,若希望空单元不显示边框可写做<td></td>*/,
'today' => 'lime' /*今天的字色*/,
'blog' => 'fuchsia' /*有链接时的背景色*/,
/*链接表*/
'lines' => array(
15 => 'test' /*日 => 目标*/,
),
);function date_box($yyyy,$mm,$template,$info) {
$sp = $info['sp'];
$date = strtotime("$yyyy-$mm-01"); //从传入的年月创建unix时间戳
$w = date('w',$date); //1号是星期几
$t = date('t',$date); //该月天数
$a1 = $w ? array_fill(0,$w,$sp) : array(); //可能存在的前导空格
$a2 = range(1,$t); //日期数组
$j = date("j"); //当前日
foreach($a2 as $k=>$v) {
if($v == $j)
$v = "<font color=$info[today]>$v</font>"; //设置当前日的颜色
if(isset($info[lines][$v]))
$a2[$k] = "<td bgcolor='$info[blog]'><a href='{$info[lines][$v]}'>$v</a></td>";
else
$a2[$k] = "<td>$v</td>";
}
$a3 = (7-($w+$t)%7)%7 ? array_fill(0,(7-($w+$t)%7)%7,$sp) : array(); //补齐尾部
$a = array_merge($a1,$a2,$a3); //组装成临时数组
$ar = array_chunk($a,7); //拆分临时数组到目标数组,7个单元为一组
foreach($ar as $v)
$s .= "<tr>".join("",$v)."</tr>\n";
return str_replace("__ROW__",$s,$template);
}
echo date_box(2005,1,$tpl,$info);
?>