日歷頁(yè)面展示
1,mktime()函數(shù)的使用,獲取當(dāng)前月的天數(shù)及當(dāng)月1號(hào)的星期(2018/3/13)
<?php $day=date("t",mktime(0,0,0,$mon,1,$year));//當(dāng)前月的天數(shù) 31 $w=date("w",mktime(0,0,0,$mon,1,$year));//當(dāng)月1號(hào)的星期幾 4
2,輸出日歷的頭部信息
<?php echo"<div align='center'>"; echo"<table border='0'>"; echo"<h3><div>{$year}年{$mon}月</div></h3>"; echo "<tr>"; echo "<th>日</th>"; echo "<th class='td1'>一</th>"; echo "<th class='td1'>二</th>"; echo "<th class='td1'>三</th>"; echo "<th class='td1'>四</th>"; echo "<th class='td1'>五</th>"; echo "<th>六</th>"; echo "</tr>";
3,遍歷輸出日歷
分析:
由mktime()函數(shù)可知 當(dāng)前月總共天數(shù),當(dāng)月1號(hào)是星期幾,只需要在小于當(dāng)月總天數(shù)時(shí)每次進(jìn)行7天的遍歷輸出,
從當(dāng)月1號(hào)對(duì)應(yīng)的星期幾開始每天加1,循環(huán)一次7天就是一行數(shù)據(jù),這樣日歷就出來了
代碼:
<?php $d=1; while($d<=$day){ echo"<tr onmouseOver='overTr(this)'onmouseOut='outTr(this)'>"; for($i=1;$i<=7;$i++){//循環(huán)輸出7天信息 if($d<=$day&&($w<$i||$d!=1)){ echo "<th><a href=''>{$d}</a></th>"; $d++; }else{ echo"<th> </th>"; } } }
運(yùn)行結(jié)果如下: