仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 831|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计PHP完成的复杂日历代码

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学校并没有那么多的时间可以让我们在实际开发上面。日历   //calendar.php
<?                                                                          
/*******************************                                          
  *   用来判别是不是闰年的函数    *                                          
  *   可以依据更庞杂的算法改善  *                                          
  *******************************/                                          
  function leap_year($year)                                                
    {                                                                  
      if($year% 4 == 0) // basic rule                                       
            {                                                               
             return true; // is leap year                                   
            }                                                               
   else                                                                  
     {                                                                    
      return false;                                                      
     }                                                                    
    }                                                                       
                                                                           
/*******************************                                          
  *   对一些变量停止赋值操作    *                                          
  *   出格注重对二月份的赋值    *                                          
  *******************************/                                          
  function setup()                                                         
   {                                                                        
   global $mon_num;                                                      
   $mon_num=array(31,30,31,30,31,30,31,31,30,31,30,31);                  
     global $mon_name;                                                      
   $mon_name=array("一","二","三","四",                                   
                  "五","六","七","八",                                    
                  "九","十","十一","十二");                              
   if (leap_year($firstday[year])) // basic rule                          
          {                                                                 
            $mon_num[1]=29; // is leap year                                 
          }                                                                 
   else                                                                  
   {                                                                     
     $mon_num[1]=28;                                                      
   }                                                                     
   }                                                                        
                                                                           
/*******************************                                          
  *   显示表格中的一格          *                                          
  *   显示的内容和色彩可变      *                                          
  *******************************/                                          
        function showline($content,$show_color)                             
        {                                                                  
         $begin_mark = "<TD WIDTH=60 HEIGHT=25>";                           
  $begin_mark =$begin_mark."<FONT COLOR=$show_color>";                    
  $end_mark = "</FONT></TD>";                                             
         echo $begin_mark.$content.$end_mark ;                              
        }                                                                  
                                                                           
                                                                           
?>                                                                          
                                                                           
<!--日过程序的正式入手下手-->                                                   
<html>                                                                     
                                                                           
<head>                                                                     
                                                                           
<title>                                                                     
社区日历                                                                    
</title>                                                                    
                                                                           
<meta http-equiv=content-type content="text/html; charset=gb2312">         
                                                                           
<head>                                                                     
                                                                           
<body>                                                                     
                                                                           
<?                                                                          
   //取得以后的日期                                                         
   $firstday  = getdate(mktime(0,0,0,date("m"),1,date("Y")));               
                                                                           
   setup();                                                                 
                                                                           
        //显示表格的称号                                                   
echo "<CENTER>";                                                         
echo "<TABLE BORDER=2  CELLSPACING=4>";                                 
echo "<TH COLSPAN=7 HEIGHT=50>";                                         
echo "<FONT COLOR=red SIZE=3 >";                                         
echo "$firstday[year]年 &nbsp".$mon_name[$firstday[mon]-1]."月&nbsp月历";
echo "</FONT>";                                                         
echo "</TH>";                                                            
                                                                          
        //表头                                                              
$weekDay[0] = "日";                                                      
$weekDay[1] = "一";                                                      
$weekDay[2] = "二";                                                      
$weekDay[3] = "三";                                                      
$weekDay[4] = "四";                                                      
$weekDay[5] = "五";                                                      
$weekDay[6] = "六";                                                      
                                                                          
echo "<TR ALIGN=\"center\" VALIGN=\"center\">";                          
                                                                          
//显示表格的第一行                                                      
for ($dayNum = 0; $dayNum < 7; ++$dayNum) {                              
    showline($weekDay[$dayNum],"red");                                    
}                                                                        
                                                                          
echo"</TR>";                                                            
                                                                          
   $toweek=$firstday[wday];//本月的第一天是礼拜几                           
   $lastday=$mon_num[$firstday[mon]-1];//本月的最初一天是礼拜几            
   $day_count = 1;//以后应当显示的天数                                      
$up_to_firstday = 1;//是不是显示到本月的第一天                             
                                                                          
for ($row = 0; $row <= ($lastday+$toweek-1)/7; ++$row)//本月有几个礼拜   
{ echo "<TR ALIGN=center VALIGN=center>";                          
  for ($col=1; $col<=7; ++$col)                                    
  {                                                               
          //在第一天后面显示的都是"空"                             
   if (($up_to_firstday <= $toweek) ||($day_count>$lastday))
   {                                                        
    echo "<TD>&nbsp</TD>";                           
    $up_to_firstday++;                              
   }                                                        
   else                                                     
          {                                                        
                //显示本月中的某一天                                       
               showline($day_count,"blue");                                 
    $day_count++;                                    
                 }                                                        
  }                                                               
  echo "</TR>";                                                   
}                                                                        
                                                                          
echo "</TABLE>";                                                         
echo "</CENTER>";                                                        
?>                                                                          
</body>                                                                     
</html>  
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-2-4 09:52:53 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
海妖 该用户已被删除
板凳
发表于 2015-2-9 21:57:56 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
若相依 该用户已被删除
地板
发表于 2015-2-13 21:20:45 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
金色的骷髅 该用户已被删除
5#
发表于 2015-3-4 01:10:52 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
小魔女 该用户已被删除
6#
发表于 2015-3-4 11:36:49 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
莫相离 该用户已被删除
7#
发表于 2015-3-8 00:21:29 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
第二个灵魂 该用户已被删除
8#
发表于 2015-3-10 23:26:08 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
兰色精灵 该用户已被删除
9#
发表于 2015-3-17 00:10:36 | 只看该作者
做为1门年轻的语言,php一直很努力。
若天明 该用户已被删除
10#
发表于 2015-3-17 08:48:00 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
老尸 该用户已被删除
11#
发表于 2015-3-17 12:09:47 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-24 09:40:30 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
13#
发表于 2015-4-11 09:13:51 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
谁可相欹 该用户已被删除
14#
发表于 2015-4-12 14:29:52 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
再现理想 该用户已被删除
15#
发表于 2015-4-13 10:42:18 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
透明 该用户已被删除
16#
 楼主| 发表于 2015-4-18 20:12:50 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
柔情似水 该用户已被删除
17#
发表于 2015-4-22 17:10:51 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
分手快乐 该用户已被删除
18#
发表于 2015-4-25 11:22:02 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
山那边是海 该用户已被删除
19#
发表于 2015-4-26 07:11:50 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
飘灵儿 该用户已被删除
20#
发表于 2015-4-28 01:54:10 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-10 18:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表