您的位置:威尼斯官方网站 > 威尼斯正规官网 > 太另类的没去写

太另类的没去写

发布时间:2019-08-06 15:01编辑:威尼斯正规官网浏览(92)

    PHP日历程序,成效都以大众化的,能够下拉切换年月,下7个月下4月今年上一月,太另类的没去写,首要的写出来了,扩大起来就有助于多了,标题为何要叫精美呢,是因自已认为分界面还过得去,哈哈,让我们见笑了,不足之处还请提出。

    功能代码如下

    图片 1

    php日历宗旨代码

     代码如下

    <?php
    //日历类
    class calendar {
        //当前的年
        private $year;
        //当前的月
        private $month;
        //二个月初率先天是星期几
        private $start_weekday;
        //当前月的时局
        private $days;
        //最大数与小祭灶节数,最大与小小月数
        private $yearMonth = array(2080, 1900, 12, 1);
        //构造函数
        function __construct() {
            if (isset($_GET['year'])) {
               $this->year = $_GET['year'];
            }
                if (isset($_GET['month'])) {
                $this->month = $_GET['month'];
            }
            $this->pnYm($this->year, $this->month);
            $this->days = date('t', mktime(0, 0, 0, $this->month, 1, $this->year));
            $this->start_weekday = date('w', mktime(0, 0, 0, $this->month, 1, $this->year));
            $this->style();
        }
        //输出
        private function style() {
            echo '<table id="calendar">';
            $this->weeklist();
            $this->daylist();
            echo '<table>';
        }
        //年月参数判断
        private function ymCheck($year, $month) {
            if (!is_numeric($year)) {
                $year = date('Y');
            }
            if (!is_numeric($month)) {
                $month = date('m');
            }
            if ($month < $this->yearMonth[3]) {
                $month = $this->yearMonth[2];
                $year -= 1;
            }
            if ($month > $this->yearMonth[2]) {
                $month = $this->yearMonth[3];
                $year = intval($year) 1;
            }
            $year = $year < $this->yearMonth[1] ? $this->yearMonth[1] : $year;
            $year = $year > $this->yearMonth[0] ? $this->yearMonth[0] : $year;
            return array($year, $month);
        }
        //上一年、下一年、上一月、下一月
        private function pnYm($year, $month) {
            $ym = $this->ymCheck($year, $month);
            $this->year = $ym[0];
            $this->month = $ym[1];
        }
        //weeklist周列表
        private function weeklist() {
            $week = array('日','一','二','三','四','五','六');
            echo '<tr>';
            foreach ($week as $val) {
                echo '<th>'.$val.'</th>';
            }
            echo '</tr>';
        }
        //daylist天列表
        private function daylist() {
            //年月日导航
            echo '<tr>';
            echo '<td><a title="上一年" href="?year='.($this->year-1).'&month='.$this->month.'"><<</a></td>';
            echo '<td><a title="上一月" href="?year='.$this->year.'&month='.($this->month-1).'"><</a></td>';
            echo '<td colspan="3">';
            echo '<form action="?" method="get" id="form">';
            echo '<select name="year" onchange="formaction()">';
            for ($i = $this->yearMonth[1]; $i <= $this->yearMonth[0]; $i ) {
                 if ($i == $this->year) {
                       echo '<option value="'.$i.'" selected="selected">'.$i.'年</option>';
                 }else {
                       echo '<option value="'.$i.'">'.$i.'年</option>';
                 }
            }
            echo '</select>';
            echo '<select name="month" onchange="formaction()">';
            for ($i = $this->yearMonth[3]; $i <= $this->yearMonth[2]; $i ) {
                if ($i == $this->month) {
                     echo '<option value="'.$i.'" selected="selected">'.$i.'月</option>';
                }else {
                     echo '<option value="'.$i.'">'.$i.'月</option>';
                }
            }
           echo '</select></form></td>';
           echo '<td><a title="下一月" href="?year='.$this->year.'&month='.($this->month 1).'">></a></td>';
           echo '<td><a title="下一年" href="?year='.($this->year 1).'&month='.$this->month.'">>></a></td>';
           echo '</tr>';

           echo '<tr>';
           //输出空格(当前段时间第一天后面要空出来的)
           for($i = 0; $i < $this->start_weekday; $i ) {
                 echo '<td> </td>';
           }
           for ($k = 1; $k <= $this->days; $k ) {
                $i ;
                if ($k == date('d')) {
                      echo '<td>'.$k.'</td>';
                }else {
                      echo '<td>'.$k.'</td>';
                }
                if ($i % 7 == 0) {
                     if ($k != $this->days) {
                            echo '</tr><tr>';
                     }
                }
            }
             echo '</tr>';
        }
    }
    ?>

    html css代码

     代码如下

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";
    <html xmlns=";
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PHP日历程序</title>
    <style>
    #calendar { width:auto; margin:0 auto; margin-top:100px; border:0; border-collapse:collapse; box-shadow:0px 0px 4px #ddd; font-size:12px; text-align:center; font-family:"微软雅黑"; color:#333; border:solid 1px #c5e2ff; }
    #calendar tr { width:auto; height:34px; line-height:34px; }
    #calendar tr th { width:44px; background:#c5e2ff; }
    #calendar tr td { background:#fff; }
    #calendar tr td.tdbg { background:#c5e2ff; }
    #calendar tr td:hover { background:#FFC; }
    #calendar tr td a { text-decoration:none; color:#f50; font-weight:900; }
    #calendar select { width:auto; border:solid 1px #c5c5c5; padding:2px 0 2px 0; background:#fff; float:left; margin-left:5px; }
    </style>
    <script>
    function formaction() {
        var form = document.getElementById('form');
        form.submit();
    }
    </script>
    </head>
    <body>
    <?php
    require 'init.php';
    $calendar = new calendar();
    ?>
    </body>
    </html>

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:太另类的没去写

    关键词:

上一篇:  1  函数ereg的使用示例

下一篇:没有了