Home > Backend Development > PHP Tutorial > php输出日历的程序

php输出日历的程序

WBOY
Release: 2016-06-20 13:04:52
Original
1429 people have browsed it

最近开发需求中需要输出一个日历,由于该日历和数据库中的数据扯有太多关系。于是没有选择比较常见的用js生成的日历,而是用php输出了一个日历表格。ok,下面将如何用php输出日历的程序和大家分享一下。

php输出的日历效果如下图:


具体代码如下:

<p><?php</p>/*<br />* php 输出日历程序<br />*/ <br />header("Content-type: text/html;charset=utf-8");<br />$year=(!isset($_GET['year'])||$_GET['year']=="")?date("Y"):$_GET['year'];<br />$month=(!isset($_GET['month'])||$_GET['month']=="")?date("n"):$_GET['month'];<br />$curUrl=$_SERVER['PHP_SELF'];<br /><br />if($year<1971){<br />	echo "出错!";<br />	echo "<BR>";<br />	echo "<a href=",$curUrl,">Back</a>";<br />	exit();<br />}<br />?> <br /><table width="200" border="1" cellspacing="0" cellpadding="0" bordercolor="#E7E7E7" style="font-size:12px;" align="center"> <br /><tr align="center"><td colspan="2"> <br /><?php <br />//<-------当月份超出1至12时的处理;开始-------> <br />if($month<1){<br />	$month=12;<br />	$year-=1;<br />}<br />if($month>12){<br />	$month=1;<br />	$year+=1;<br />}<br />//<-------当月份超出1至12时的处理;结束-------> <br />//<---------上一年,下一年,上月,下月的连接处理及输出;开始---------> <br />echo "<a href=",$curUrl,"?year=".($year-1)."&month=".$month."><<</a>年<a href=",$curUrl,"?year=".($year+1)."&month=".$month.">>></a>";<br />?> <br /></td><td colspan="3"><?php echo $year."年".$month."月";?> <br /></td><td colspan="2"> <br /><?php <br />echo "<a href=",$curUrl,"?month=".($month-1)."&year=".$year."><<</a>月<a href=",$curUrl,"?month=".($month+1)."&year=".$year.">>></a>";<br />//<--------上一年,下一年,上月,下月的连接处理及输出;结束---------> <br />?></td></tr> <br /><tr align=center><td><font color="red">日</font></td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr> <br /><?php <br />$d=date("d");<br />$FirstDay=date("w",mktime(0,0,0,$month,1,$year));//取得任何一个月的一号是星期几,用于计算一号是由表格的第几格开始<br />$bgtoday=date("d");<br />function font_color($month,$today,$year){//用于计算星期天的字体颜色<br />	$sunday=date("w",mktime(0,0,0,$month,$today,$year));<br />	if($sunday=="0"){<br />		$FontColor="red";<br />	}else{<br />		$FontColor="black";<br />	}<br />	return $FontColor;<br />}<br />function bgcolor($month,$bgtoday,$today_i,$year){//用于计算当日的背景颜色<br />	$show_today=date("d",mktime(0,0,0,$month,$today_i,$year));<br />	$sys_today=date("d",mktime(0,0,0,$month,$bgtoday,$year));<br />	if($show_today==$sys_today){<br />	$bgcolor="bgcolor=#6699FF";<br />	}else{<br />	$bgcolor="";<br />	}<br />	return $bgcolor;<br />}<br />function font_style($month,$today,$year){//用于计算星期天的字体风格<br />	$sunday=date("w",mktime(0,0,0,$month,$today,$year));<br />	if($sunday=="0"){<br />		$FontStyle="<strong>";<br />	}else{<br />		$Font;<br />	}<br />	return $FontStyle;<br />}<br />for($i=0;$i<=$FirstDay;$i++){//此for用于输出某个月的一号位置<br />	for($i;$i<$FirstDay;$i++){<br />		echo "<td align=center> </td>\n";<br />	}<br />	if($i==$FirstDay){<br />		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";<br />		if($FirstDay==6){//判断1号是否星期六<br />			echo "</tr>";<br />		}<br />	}<br />}<br />$countMonth=date("t",mktime(0,0,0,$month,1,$year));//某月的总天数 <br />for($i=2;$i<=$countMonth;$i++){//输出由1号定位,随后2号直至月尾的所有号数<br />	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";<br />	if(date("w",mktime(0,0,0,$month,$i,$year))==6){//判断该日是否星期六<br />		echo "</tr>\n";<br />	}<br />}<br />?> <br /></table>
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template