zoukankan      html  css  js  c++  java
  • php如何实现万年历的开发(每日一课真是非常有效率)

    php如何实现万年历的开发(每日一课真是非常有效率)

    一、总结

    一句话总结:

    1、判断每月有多少天:

    通过data函数来判断,$days=date('t',$firstday);

    2、判断每月的第一天是星期几:

    还是 通过data函数来判断,$week=date('w',$firstday);

    3、如何获取某年某月某日对应的时间戳:

    通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");

    4、如何实现上一月下一月操作:

    get方式传递参数,把年和月作为参数传过去。

    1、如何判断每月有多少天?

    解答:通过data函数来判断,$days=date('t',$firstday);。

    2、如何判断每月的第一天是星期几?

    解答:还是 通过data函数来判断,$week=date('w',$firstday);。

    3、如何获取某年某月某日对应的时间戳?

    解答:通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");。

    4、php万年历脚本如何实现上一月下一月操作?

    解答:get方式传递参数,把年和月作为参数传过去。

    5、html中的php代码应该如何放置?

    解答:若非逼不得已插入html代码中,可以找一块区域放php代码。

    6、php如何获取get方式传过来的参数,比如y?

    解答:$_GET['y']。

    7、php代码如何内嵌入html中?

    解答:正常的php代码的格式即可,<?php ?>,<h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>。

    8、php万年历如何在每月1号的前面把该空出来的格子空出来?

    解答:把他们依次看成0,-1,-2,-3等等,然后i从(1-$week)开始取$i=(1-$week);,然后那些小于1对应的格子td里面就输出空格就好。

    9、如何get方式传参数?

    解答:url?y=3&m=3。

    10、php如何实现动态传参数?

    解答:加php代码<?php ?>即可,然后echo出参数,<a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a>。

    二、php实现万年历的开发

    截图

    代码

     1 <?php 
     2 //当前年
     3 $year=$_GET['y']?$_GET['y']:date('Y');
     4 
     5 //当前月
     6 $month=$_GET['m']?$_GET['m']:date('m');
     7 
     8 
     9 //当前月1号的时间戳
    10 $firstday=strtotime("{$year}-{$month}-1");
    11 
    12 //当前月天数
    13 $days=date('t',$firstday);
    14 
    15 //当前月1号是周几
    16 $week=date('w',$firstday);
    17 
    18 //下一年和下一月
    19 $nextyear=$year;
    20 $nextmonth=$month+1;
    21 if($nextmonth>12){
    22     $nextyear=$year+1;
    23     $nextmonth=1;
    24 }
    25 
    26 //上一年和上一月
    27 $prevyear=$year;
    28 $prevmonth=$month-1;
    29 if($prevmonth<1){
    30     $prevyear=$year-1;
    31     $prevmonth=12;
    32 }
    33 
    34  ?>
    35 <!doctype html>
    36 <html lang="en">
    37 <head>
    38     <meta charset="UTF-8">
    39     <title>index</title>
    40     <style>
    41         *{
    42             font-family: 微软雅黑;
    43         }
    44 
    45         a{
    46             text-decoration: none;
    47             color:#55f;
    48         }
    49     </style>
    50 </head>
    51 <body>
    52     <center>    
    53         <h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>
    54         <table border='1px' cellspacing='0' width='700px'>
    55             <tr>
    56                 <th>周日</th>
    57                 <th>周一</th>
    58                 <th>周二</th>
    59                 <th>周三</th>
    60                 <th>周四</th>
    61                 <th>周五</th>
    62                 <th>周六</th>
    63             </tr>
    64 
    65             <?php 
    66                 for($i=(1-$week);$i<=$days;){
    67                     echo '<tr>';
    68                         for($j=0;$j<7;$j++,$i++){
    69                             if($i>$days || $i<1){
    70                                 echo "<td>&nbsp;</td>"; 
    71                             }else{
    72                                 echo "<td>{$i}</td>"; 
    73                             }
    74                         }
    75                     echo '</tr>';
    76                 }
    77              ?>
    78         </table>
    79         <h3>
    80             <a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a> |
    81             <a href="datenew.php?y=<?php echo $nextyear ?>&m=<?php echo $nextmonth ?>">下一月</a>
    82         </h3>
    83     </center>    
    84 </body>
    85 </html>

    三、测试题-简答题

    1、如何判断每月有多少天?

    解答:通过data函数来判断,$days=date('t',$firstday);。

    2、如何判断每月的第一天是星期几?

    解答:还是 通过data函数来判断,$week=date('w',$firstday);。

    3、如何获取某年某月某日对应的时间戳?

    解答:通过strtotime函数来得到,$firstday=strtotime("{$year}-{$month}-1");。

    4、php万年历脚本如何实现上一月下一月操作?

    解答:get方式传递参数,把年和月作为参数传过去。

    5、html中的php代码应该如何放置?

    解答:若非逼不得已插入html代码中,可以找一块区域放php代码。

    6、php如何获取get方式传过来的参数,比如y?

    解答:$_GET['y']。

    7、php代码如何内嵌入html中?

    解答:正常的php代码的格式即可,<?php ?>,<h2>万年历-<?php echo $year ?>年<?php echo $month ?>月</h2>。

    8、php万年历如何在每月1号的前面把该空出来的格子空出来?

    解答:把他们依次看成0,-1,-2,-3等等,然后i从(1-$week)开始取$i=(1-$week);,然后那些小于1对应的格子td里面就输出空格就好。

    9、如何get方式传参数?

    解答:url?y=3&m=3。

    10、php如何实现动态传参数?

    解答:加php代码<?php ?>即可,然后echo出参数,<a href="datenew.php?y=<?php echo $prevyear ?>&m=<?php echo $prevmonth ?>">上一月</a>。

  • 相关阅读:
    LVS负载均衡NAT模式实现
    Linux-ftp服务搭建
    Keepalived配置详解
    Keepalived高可用概念篇
    Nginx-http_proxy_module模块
    Nginx-keepalived+Nginx实现高可用集群
    Oracle注入之带外通信
    Oracle基于延时的盲注总结
    Oracle基于布尔的盲注总结
    Oracle报错注入总结
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9141488.html
Copyright © 2011-2022 走看看