php--简易万年历的制作

<html>
<head>
    <title>wan nian li</title>
    <meta http-equiv="content-type" content="text/html;" charset="GB2312">
    <!-- style -->
    <style type="text/css">
        <!--
        table
        {
            background-color: #b0c4de;
        }

        tr
        {
            background-color: white;
        }

        td
        {
            font-size: 20pt;
            font-family: "宋体";
            color: #708090;
            line-height: 140%;
        }
        -->
    </style>
</head>
<body>
<?php
    //判断年的值是否设置,并且是数值类型
    if(isset($_POST["year"]) && is_numeric($_POST["year"]))
    {
        $year = $_POST["year"];
    }
    else
    {
        $year = date("Y");
    }
    //判断月的值是否设置,并且是数值类型
    if(isset($_POST["month"]) && is_numeric($_POST["year"]))
    {
        $month = $_POST["month"];
    }
    else
    {
        $month = date("m");
    }
    //天的初始值
    $date = 01;
    //用来判断月初1号是星期几,同时用作第几天
    $day = 01;
    //每周换行
    $off = 0;
    //检查年份范围
    if($year < 0 || $year > 9999)
    {
        echo "<script>alert('year should between 1 to 9999!');history.go(-1);</script>";
        exit();
    }
    //检查月份范围
    if ($month < 0 || $month > 12)
    {
        echo "<script>alert('month should between 1 to 12!');history.go(-1);</script>";
        exit();
    }
    //核查日期是否有效
    while(checkdate($month,$date,$year))
    {
        $date++;
    }

?>
<form method="post" action="" name="calendar">
    <table width="60%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#333333" bordercolordark="#ffffff" bgcolor="#cccccc" style="margin: 0 auto;">
        <tr align="center" valign="middle">
            <td colspan="7" bgcolor="#efefef">
                <input type="text" name="year" id="year" size="4" maxlength="4" value='<?= $year?>'>
                <input type="text" name="month" id="month" size="2" maxlength="2" value='<?= $month?>'>
                <input type="submit" name="submit" align="absmiddle" border="0" value="turn">
            </td>
        </tr>
        <tr align="center" valign="middle">
            <td bgcolor="#efefef">7</td>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td bgcolor="#efefef">6</td>
        </tr>
        <tr align="center" valign="middle">
            <?php
            //循环,天数是否有效
            while($day < $date)
            {
                //当天
                if($day == date("d") && $year == date("Y") && $month == date("m"))
                {
                    $day_color = "color='red'";
                    $today = true;
                }
                //其他天
                else
                {
                    $day_color = "color='black'";
                    $today = false;
                }
                //月初1号,是周日
                if($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year))== 'Sunday'))
                {
                    echo "<td><font $day_color>$day</font></td>";
                    $off = '01';
                }
                //月初1号,是周二
                elseif ($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Monday'))
                {
                    echo "<td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '02';
                }
                elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Tuesday'))
                {
                    echo "<td>&nbsp;</td><td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '03';
                }
                elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Wednesday'))
                {
                    echo "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '04';
                }
                elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Thursday'))
                {
                    echo "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '05';
                }
                elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Friday'))
                {
                    echo "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '06';
                }
                elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Saturday'))
                {
                    echo "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><font $day_color>$day</font></td>";
                    $off = '07';
                }
                //非月初1号,其他天数
                else
                {
                    if($today)
                    {
                        echo "<td bgcolor='#efefef'><font $day_color>$day</font></td>";
                    }
                    else
                    {
                        echo "<td><font $day_color>$day</font></td>";
                    }

                }
                //天数后移
                $day++;
                //一周是否走完
                $off++;
                //每周换行
                if($off > 7)
                {
                    echo "</tr><tr align='center' valign='middle'>";
                    $off = '01';
                }
            }
            //当月剩余填充空格
            for ($i=$off;$i<=7;$i++)
            {
                echo "<td>&nbsp;</td>";
            }
            ?>
        </tr>
    </table>
</form>
</body>
</html>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值