欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實現簡單日歷類編寫

 更新時間:2020年08月28日 11:43:29   作者:shofe的菜鳥人生  
這篇文章主要為大家詳細介紹了PHP實現簡單日歷類編寫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

用PHP實現日歷類的編寫,供大家參考,具體內容如下

calendar.class.php

<?php
/*
* 創(chuàng)建一個日歷類
*
*
*/
 //修改默認時區(qū)
 date_default_timezone_set("PRC");
 
 class Calendar {
  private $year;
 private $month;
 private $day; //當月總天數
 private $first_week; //每月的第一天是星期幾
 
 //構造函數
 function __construct() {
  $this->year = isset($_GET['year'])?$_GET['year']:date("Y");
  $this->month = isset($_GET["month"])?$_GET["month"]:date("m");
  $this->first_week = date("w", mktime(0, 0 ,0, $this->month, 1, $this->year));
  $this->day = date("t", mktime(0, 0 ,0, $this->month, 1, $this->year));
 }
 function showCalendar() {
 //  echo $this->year."年".$this->month."月".$this->first_week."天".$this->day;
   echo "<table align='center'>"; //用表格輸出
   $this->chageDate("index.php"); //用于用戶調整年月份
  $this->weekList();//顯示星期
  $this->dayList(); //顯示天數
  
  echo "</table>";
 }
 //1、顯示星期
 private function weekList() {
  $week = array("日","一","二","三","四","五","六");
  echo "<tr>";
   for ($i = 0; $i < count($week); $i++) {
   echo "<th>".$week[$i]."</th>";
  }
  echo "</tr>";
 }
 //2.顯示天數
 private function dayList() {
  $color = "#2ca50c";
  echo "<tr>";
  for ($i = 0; $i < $this->first_week; $i++) { //輸出空格,彌補當前月空缺部分
   echo "<td bgcolor='#2ca50c'> </td>";
  }
  for ($k = 1; $i <= $this->day; $k++) {
   $i++;
   if ($k == date("d")) echo "<td id='nowd'>".$k."</td>"; //是今天,加效果
   else echo "<td bgcolor=$color>".$k."</td>";
   if ($i % 7 == 0) {
   echo "</tr><tr>"; //每7天一次換行
   if ($i % 2 == 0) $color = "#2ca50c";
   else $color = "#9ddb27"; //實現各行換色的效果
   }
  }
  while ($i % 7 != 0) { //將剩余的空格補完
   echo "<td bgcolor='#2ca50c'> </td>";
  $i++; 
  }
  echo "</tr>";
 }
  
 //3、用于用戶調整天數
 private function chageDate($url="index.php") {
  echo "<tr>";
   echo "<caption><h1>".$this->year."年".$this->month."月</h1></caption>"; 
  echo "</tr>";
  echo "<tr>";
  echo "<td>"."<a href='?".$this->prevYear($this->year,$this->month)."'>"."<"."</a>";
  echo "<td>"."<a href='?".$this->prevMonth($this->year,$this->month)."'>"."<<"."</a>";
  
  echo "<td colspan='3'>";
   echo '<select οnchange="window.location=\''.$url.'?year=\'+this.options[selectedIndex].value+\'&month='.$this->month.'\'">';
    for ($year = 2038; $year >= 1970; $year--) {
    $selected = ($year == $this->year)?"selected":"";
    echo '<option '.$selected. ' value="'.$year.'">'.$year.'</option>';
    //echo '<option '.$selected.' value="'.$year.'">'.$year.'</option>';
   }
   echo "</select>";
   
  echo '<select name="month" οnchange="window.location=\''.$url.'?year='.$this->year.'&month=\'+this.options[selectedIndex].value">';
  for($month=1;$month <= 12;$month++){
   $selected1 = ($month == $this->month) ? "selected" : "";
   echo '<option '.$selected1.' value="'.$month.'">'.$month.'</option>';
  }
  echo '</select>';
  echo "</td>";
  
  
  echo "<td>"."<a href='?".$this->nextMonth($this->year,$this->month)."'>".">>"."</a>";
  echo "<td>"."<a href='?".$this->nextYear($this->year,$this->month)."'>".">"."</a>";
  echo "</tr>";
 }
 
 private function prevYear($year, $month) { //獲取上一年的數據
  $year--;
  if ($year < 1970) $year = 1970;
  return "year={$year}&month={$month}";
 }
 private function prevMonth($year, $month) {
  if ($month == 1) {
   $year--;
  if ($year < 1970) $year = 1970;
  $month = 12;
  }else $month--; 
  return "year={$year}&month={$month}";
 }
 private function nextYear($year, $month) { //獲取上一年的數據
  $year++;
  if ($year > 2038) $year = 2038;
  return "year={$year}&month={$month}";
 }
 private function nextMonth($year, $month) {
  if ($month == 12) {
   $year++;
  if ($year > 2038) $year = 2038;
  $month = 1;
  }else $month++; 
  return "year={$year}&month={$month}";
 }
 }

主頁 index.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>日歷顯示</title>
<style>
 table {
 border:1px solid #050;
 margin: 100px auto;
 }
 th {
  width: 30px;
 background-color: #0CC;
 color: #fff;
 height: 30px;
 font-size: 20px;
 }
 #nowd {
  color: yellow;
 background: #F00;
 }
 td {
  width: 30px;
 text-align: center;
 
 height: 25px;
 color: #fff;
 }
 a {
 display: block;
 width: 35px;
 height: 35px;
 background: #0F9;
  text-decoration: none;
 text-align: center;
 line-height: 35px;
 }
 a:hover {
  background: #CF0;
 color: #fff;
 font-size: 20px;
 }
</style>
</head>
 
<body>
 <?php
 include "calendar.class.php";
 $ca = new Calendar();
 $ca->showCalendar();
 ?>
</body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • ThinkPHP中調用PHPExcel的實現代碼

    ThinkPHP中調用PHPExcel的實現代碼

    本文介紹ThinkPHP中處理導出成Excel文件的一個PHP庫,PHPExcel。它可以很容易的生成出一個完整的、復雜的Excel文件,需要的朋友可以參考下
    2017-04-04
  • 用vscode運行php的圖文詳解

    用vscode運行php的圖文詳解

    這篇文章給大家介紹了使用vscode運行php的操作步驟,文中通過圖文結合的方式介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • php解決crontab定時任務不能寫入文件問題的方法分析

    php解決crontab定時任務不能寫入文件問題的方法分析

    這篇文章主要介紹了php解決crontab定時任務不能寫入文件問題的方法,結合實例形式分析了crontab定時任務無法正常執(zhí)行的原因與解決方法,需要的朋友可以參考下
    2019-09-09
  • php中autoload的用法總結

    php中autoload的用法總結

    在PHP中使用類時,我們必須在使用前加載進來,不管是通過 require 的方式還是 include 的方式,但是會有兩個問題影響我們做出加載的決定
    2013-11-11
  • php實現檢查文章是否被百度收錄

    php實現檢查文章是否被百度收錄

    這篇文章主要介紹了php實現檢查文章是否被百度收錄,本文在后臺中實現檢測百度收錄情況,使用非常方便,需要的朋友可以參考下
    2015-01-01
  • PHP實現預定義鉤子和自定義鉤子的簡單示例

    PHP實現預定義鉤子和自定義鉤子的簡單示例

    這篇文章主要給大家介紹了PHP實現預定義鉤子和自定義鉤子,在PHP中,鉤子(Hooks)是一種機制,允許開發(fā)人員在特定的時機插入自定義代碼,通過使用鉤子,開發(fā)人員可以在應用程序的特定事件發(fā)生時執(zhí)行自定義的功能或邏輯,文中有詳細的代碼講解,需要的朋友可以參考下
    2023-11-11
  • zend framework配置操作數據庫實例分析

    zend framework配置操作數據庫實例分析

    zend framework項目建立后,看了下zend framework配置操作數據庫,本文將詳細介紹,需要了解的朋友可以參考下
    2012-12-12
  • 支持中文字母數字、自定義字體php驗證碼代碼

    支持中文字母數字、自定義字體php驗證碼代碼

    支持中文字母數字、自定義字體php驗證碼代碼,需要的朋友可以參考下
    2012-02-02
  • Windows下PHP開發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)

    Windows下PHP開發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)

    這篇文章主要為大家詳細介紹了Windows下PHP開發(fā)環(huán)境搭建教程:Apache+PHP+MySQL,具有一定的實用性和參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • php獲得url參數中具有&的值的方法

    php獲得url參數中具有&的值的方法

    經常會遇到要獲取上一頁地址的路徑。你可以返回上一頁使用,實現這個是通過JS來操作的,下面有個不錯的示例,大家可以參考下
    2014-03-03

最新評論