PHP实现的简单日历代码

//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>                                                                      

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代码,可以让您开始实现类似Outlook日历的功能: 1. 创建数据库表 首先,您需要创建一个数据库表来存储日程。您可以使用以下SQL语句在MySQL中创建一个名为“events”的表: ``` CREATE TABLE events ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, date DATE NOT NULL, time TIME NOT NULL, description TEXT ); ``` 2. 显示日程 接下来,您可以使用以下PHP代码从数据库中检索并显示所有的日程: ```php <?php // 连接到数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检索所有的日程 $sql = "SELECT * FROM events"; $result = mysqli_query($conn, $sql); // 显示每个日程 while ($row = mysqli_fetch_assoc($result)) { echo "<h3>{$row['title']}</h3>"; echo "<p>Date: {$row['date']}</p>"; echo "<p>Time: {$row['time']}</p>"; echo "<p>Description: {$row['description']}</p>"; } ?> ``` 这将从数据库中检索所有的日程,并以标题、日期、时间和说明的形式显示出来。 3. 添加新日程 要添加新的日程,您可以使用以下PHP代码生成一个表单: ```php <form method="post" action="add_event.php"> <label>Title:</label> <input type="text" name="title"><br> <label>Date:</label> <input type="date" name="date"><br> <label>Time:</label> <input type="time" name="time"><br> <label>Description:</label> <textarea name="description"></textarea><br> <input type="submit" value="Add Event"> </form> ``` 当用户提交表单时,它将提交到一个名为“add_event.php”的PHP脚本,您可以在该脚本中将新的日程插入到数据库中: ```php <?php // 连接到数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 获取表单数据 $title = mysqli_real_escape_string($conn, $_POST['title']); $date = mysqli_real_escape_string($conn, $_POST['date']); $time = mysqli_real_escape_string($conn, $_POST['time']); $description = mysqli_real_escape_string($conn, $_POST['description']); // 插入新的日程 $sql = "INSERT INTO events (title, date, time, description) VALUES ('$title', '$date', '$time', '$description')"; mysqli_query($conn, $sql); // 跳转回日程页面 header("Location: calendar.php"); ?> ``` 这将从表单中获取新的日程数据,并将它们插入到数据库表中。然后,用户将被重定向回日历页面。 4. 修改或删除日程 要修改或删除现有的日程,您可以使用类似的方法。例如,要修改日程,您可以生成一个表单,让用户编辑日程数据,并将其提交到一个PHP脚本,该脚本将更新数据库中的相应记录。要删除日程,您可以生成一个链接或按钮,用户单击后将触发一个PHP脚本,该脚本将从数据库中删除相应的记录。 希望这些代码可以帮助您开始实现类似Outlook日历的功能!请注意,这只是一个简单的示例,您可能需要对其进行修改和扩展以满足您的具体需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值