新聞中心
本文操作環(huán)境:Windows7系統(tǒng)、php7.1版、DELL G3電腦

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),萊蕪網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:萊蕪等地區(qū)。萊蕪做網(wǎng)站價(jià)格咨詢:13518219792
PHP實(shí)現(xiàn)萬年歷
實(shí)現(xiàn)一個(gè)PHP萬年歷,先上圖:
總體實(shí)現(xiàn)邏輯是:先把某月的天數(shù)展示在table里面。然后計(jì)算該月第一天對(duì)應(yīng)的是周幾。最后分別計(jì)算上下月對(duì)應(yīng)的年數(shù)與天數(shù),實(shí)現(xiàn)上下月切換。下面將一步一步具體實(shí)現(xiàn):
第一步:利用PHP的日期函數(shù)獲取當(dāng)前年月日:
- 獲取當(dāng)前年 $y = date("Y");
- 獲取當(dāng)前月 $y = date("m");
- 獲取當(dāng)前是多少號(hào) $d = date("d");
- 獲取該月有多少天 $maxday = date("t");
- 獲取本月第一天對(duì)應(yīng)的星期 date("w",strtotime("{$y}-{$m}-1"));
- 接下來是界面代碼,代碼如下圖
- 以上第一個(gè)for循環(huán)用于循環(huán)輸出最大天數(shù),1-$week表示對(duì)應(yīng)的本月第一天是星期幾。第二個(gè)for循環(huán),循環(huán)輸出每一行的日期。其中$i == $d表示判斷是否為本月本號(hào)的日期,如果是則字體為紅色標(biāo)注。
第二步,實(shí)現(xiàn)上月和下一月切換:
- 分別定義變量 $prey,$preMonth,$nexty,$nextMonth表示點(diǎn)擊上一月和下一月對(duì)應(yīng)的年月
- 給上下年月賦值,并且為a標(biāo)簽添加鏈接 代碼如下圖
第三步:初始化的年月日,進(jìn)行判斷。判斷是否為點(diǎn)擊的上一月或者下一月。如果是這取該年月。不是者取當(dāng)前。
- $y = isset($_GET["y"])?$_GET["y"]:date("Y");取年
- $m = isset($_GET["m"])?$_GET["m"]:date("m");取月
- if ($y == date("Y") && $m == date("m")) {
$d = date("d");
}判斷是否為當(dāng)前日期。具體代碼如下圖
到此萬年歷完成。
推薦學(xué)習(xí):《PHP視頻教程》
本文標(biāo)題:php代碼怎么實(shí)現(xiàn)萬年歷
網(wǎng)站網(wǎng)址:http://m.fisionsoft.com.cn/article/djhddso.html


咨詢
建站咨詢
