Hướng dẫn php web calendar - lịch web php

  • Cách xây dựng lịch web trong PHP
    • Xây dựng lớp Lịch
    • Làm cho nó đẹp hơn
    • 3. Mã nguồn cuối cùng và nguồn

Lịch là một yếu tố rất phổ biến trong các ứng dụng web ngày nay. Cho dù bạn đang xây dựng một ứng dụng đặt phòng sự kiện, hệ thống hẹn hoặc thậm chí là một mạng xã hội. Lịch là điều cần thiết.

Nội phân Chính showShow

  • Xây dựng lớp Lịch
  • Làm cho nó đẹp hơn
  • 3. Mã nguồn cuối cùng và nguồn
  • Làm thế nào để tạo lịch PHP?
  • Làm thế nào để tạo một lịch sự kiện động trong PHP?
  • Làm thế nào để bạn tạo một lịch trong HTML?
  • Có bao nhiêu loại lịch được cung cấp bởi PHP?

Nội phân chính

  • Xây dựng lớp Lịch
  • Làm cho nó đẹp hơn
  • 3. Mã nguồn cuối cùng và nguồn
  • Làm thế nào để tạo lịch PHP?
  • Làm thế nào để tạo một lịch sự kiện động trong PHP?
  • Làm thế nào để bạn tạo một lịch trong HTML?
  • Có bao nhiêu loại lịch được cung cấp bởi PHP?

Nội phân chính

  • Xây dựng lớp Lịch
  • Làm cho nó đẹp hơn
  • 3. Mã nguồn cuối cùng và nguồn
  • Làm thế nào để tạo lịch PHP?
  • Làm thế nào để tạo một lịch sự kiện động trong PHP?
  • Làm thế nào để bạn tạo một lịch trong HTML?
  • Có bao nhiêu loại lịch được cung cấp bởi PHP?

Nội phân chính

Xây dựng lớp Lịch

Làm cho nó đẹp hơn

<?php
class Calendar {  
     
    /**
     * Constructor
     */
    public function __construct(){     
        $this->naviHref = htmlentities($_SERVER['PHP_SELF']);
    }
     
    /********************* PROPERTY ********************/  
    private $dayLabels = array("Mon","Tue","Wed","Thu","Fri","Sat","Sun");
     
    private $currentYear=0;
     
    private $currentMonth=0;
     
    private $currentDay=0;
     
    private $currentDate=null;
     
    private $daysInMonth=0;
     
    private $naviHref= null;
     
    /********************* PUBLIC **********************/  
        
    /**
    * print out the calendar
    */
    public function show() {
        $year  = null;
         
        $month = null;
         
        if(null==$year&&isset($_GET['year'])){
 
            $year = $_GET['year'];
         
        }else if(null==$year){
 
            $year = date("Y",time());  
         
        }          
         
        if(null==$month&&isset($_GET['month'])){
 
            $month = $_GET['month'];
         
        }else if(null==$month){
 
            $month = date("m",time());
         
        }                  
         
        $this->currentYear=$year;
         
        $this->currentMonth=$month;
         
        $this->daysInMonth=$this->_daysInMonth($month,$year);  
         
        $content='<div id="calendar">'.
                        '<div class="box">'.
                        $this->_createNavi().
                        '</div>'.
                        '<div class="box-content">'.
                                '<ul class="label">'.$this->_createLabels().'</ul>';   
                                $content.='<div class="clear"></div>';     
                                $content.='<ul class="dates">';    
                                 
                                $weeksInMonth = $this->_weeksInMonth($month,$year);
                                // Create weeks in a month
                                for( $i=0; $i<$weeksInMonth; $i++ ){
                                     
                                    //Create days in a week
                                    for($j=1;$j<=7;$j++){
                                        $content.=$this->_showDay($i*7+$j);
                                    }
                                }
                                 
                                $content.='</ul>';
                                 
                                $content.='<div class="clear"></div>';     
             
                        $content.='</div>';
                 
        $content.='</div>';
        return $content;   
    }
     
    /********************* PRIVATE **********************/ 
    /**
    * create the li element for ul
    */
    private function _showDay($cellNumber){
         
        if($this->currentDay==0){
             
            $firstDayOfTheWeek = date('N',strtotime($this->currentYear.'-'.$this->currentMonth.'-01'));
                     
            if(intval($cellNumber) == intval($firstDayOfTheWeek)){
                 
                $this->currentDay=1;
                 
            }
        }
         
        if( ($this->currentDay!=0)&&($this->currentDay<=$this->daysInMonth) ){
             
            $this->currentDate = date('Y-m-d',strtotime($this->currentYear.'-'.$this->currentMonth.'-'.($this->currentDay)));
             
            $cellContent = $this->currentDay;
             
            $this->currentDay++;   
             
        }else{
             
            $this->currentDate =null;
 
            $cellContent=null;
        }
             
         
        return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
                ($cellContent==null?'mask':'').'">'.$cellContent.'</li>';
    }
     
    /**
    * create navigation
    */
    private function _createNavi(){
         
        $nextMonth = $this->currentMonth==12?1:intval($this->currentMonth)+1;
         
        $nextYear = $this->currentMonth==12?intval($this->currentYear)+1:$this->currentYear;
         
        $preMonth = $this->currentMonth==1?12:intval($this->currentMonth)-1;
         
        $preYear = $this->currentMonth==1?intval($this->currentYear)-1:$this->currentYear;
         
        return
            '<div class="header">'.
                '<a class="prev" href="'.$this->naviHref.'?month='.sprintf('%02d',$preMonth).'&year='.$preYear.'">Prev</a>'.
                    '<span class="title">'.date('Y M',strtotime($this->currentYear.'-'.$this->currentMonth.'-1')).'</span>'.
                '<a class="next" href="'.$this->naviHref.'?month='.sprintf("%02d", $nextMonth).'&year='.$nextYear.'">Next</a>'.
            '</div>';
    }
         
    /**
    * create calendar week labels
    */
    private function _createLabels(){  
                 
        $content='';
         
        foreach($this->dayLabels as $index=>$label){
             
            $content.='<li class="'.($label==6?'end title':'start title').' title">'.$label.'</li>';
 
        }
         
        return $content;
    }
     
     
     
    /**
    * calculate number of weeks in a particular month
    */
    private function _weeksInMonth($month=null,$year=null){
         
        if( null==($year) ) {
            $year =  date("Y",time()); 
        }
         
        if(null==($month)) {
            $month = date("m",time());
        }
         
        // find number of days in this month
        $daysInMonths = $this->_daysInMonth($month,$year);
         
        $numOfweeks = ($daysInMonths%7==0?0:1) + intval($daysInMonths/7);
         
        $monthEndingDay= date('N',strtotime($year.'-'.$month.'-'.$daysInMonths));
         
        $monthStartDay = date('N',strtotime($year.'-'.$month.'-01'));
         
        if($monthEndingDay<$monthStartDay){
             
            $numOfweeks++;
         
        }
         
        return $numOfweeks;
    }
 
    /**
    * calculate number of days in a particular month
    */
    private function _daysInMonth($month=null,$year=null){
         
        if(null==($year))
            $year =  date("Y",time()); 
 
        if(null==($month))
            $month = date("m",time());
             
        return date('t',strtotime($year.'-'.$month.'-01'));
    }
     
}

3. Mã nguồn cuối cùng và nguồn

  1. Làm thế nào để tạo lịch PHP?
  2. Làm thế nào để tạo một lịch sự kiện động trong PHP?
  3. Làm thế nào để bạn tạo một lịch trong HTML? This function will create the "Prev" && "Next" navigation buttons on the top of the calendar.
  4. Có bao nhiêu loại lịch được cung cấp bởi PHP? This function will create labels for the day of week. ( Monday to Sunday). You can update the language string to your own choice. But be cautious. You should not change the order of the labels.
  5. Nội phân chính This is a tricky function. It can tell you how many weeks are there for a given month. This is used in show() function to create number of rows(weeks).
  6. Trong hướng dẫn này, chúng tôi trải qua các bước xây dựng lịch trong PHP. Sau hướng dẫn này, hy vọng bạn sẽ hiểu các khái niệm về lịch xây dựng và sử dụng tập lệnh lịch PHP trong ứng dụng của riêng bạn. This function tells how many days in a given month.

Đầu tiên sao chép mã nguồn bên dưới vào tệp lớp "Lịch.php". Chúng tôi sẽ đi qua từng chức năng quan trọng. Lớp "Lịch" này là một đối tượng hoàn chỉnh, sẽ lặp lại lịch HTML khi gọi hàm "show ()" của nó. Điều hướng tháng cũng được xử lý. Điều này làm cho nó siêu tiện dụng để sử dụng.

Làm cho nó đẹp hơn

3. Mã nguồn cuối cùng và nguồn

/*******************************Calendar Top Navigation*********************************/
div#calendar{
  margin:0px auto;
  padding:0px;
  width: 602px;
  font-family:Helvetica, "Times New Roman", Times, serif;
}
 
div#calendar div.box{
    position:relative;
    top:0px;
    left:0px;
    width:100%;
    height:40px;
    background-color:   #787878 ;      
}
 
div#calendar div.header{
    line-height:40px;  
    vertical-align:middle;
    position:absolute;
    left:11px;
    top:0px;
    width:582px;
    height:40px;   
    text-align:center;
}
 
div#calendar div.header a.prev,div#calendar div.header a.next{ 
    position:absolute;
    top:0px;   
    height: 17px;
    display:block;
    cursor:pointer;
    text-decoration:none;
    color:#FFF;
}
 
div#calendar div.header span.title{
    color:#FFF;
    font-size:18px;
}
 
 
div#calendar div.header a.prev{
    left:0px;
}
 
div#calendar div.header a.next{
    right:0px;
}
 
 
 
 
/*******************************Calendar Content Cells*********************************/
div#calendar div.box-content{
    border:1px solid #787878 ;
    border-top:none;
}
 
 
 
div#calendar ul.label{
    float:left;
    margin: 0px;
    padding: 0px;
    margin-top:5px;
    margin-left: 5px;
}
 
div#calendar ul.label li{
    margin:0px;
    padding:0px;
    margin-right:5px;  
    float:left;
    list-style-type:none;
    width:80px;
    height:40px;
    line-height:40px;
    vertical-align:middle;
    text-align:center;
    color:#000;
    font-size: 15px;
    background-color: transparent;
}
 
 
div#calendar ul.dates{
    float:left;
    margin: 0px;
    padding: 0px;
    margin-left: 5px;
    margin-bottom: 5px;
}
 
/** overall width = width+padding-right**/
div#calendar ul.dates li{
    margin:0px;
    padding:0px;
    margin-right:5px;
    margin-top: 5px;
    line-height:80px;
    vertical-align:middle;
    float:left;
    list-style-type:none;
    width:80px;
    height:80px;
    font-size:25px;
    background-color: #DDD;
    color:#000;
    text-align:center; 
}
 
:focus{
    outline:none;
}
 
div.clear{
    clear:both;
}     

Làm thế nào để tạo lịch PHP?

<html>
<head>   
<link href="calendar.css" type="text/css" rel="stylesheet" />
</head>
<body>
<?php
include 'calendar.php';
 
$calendar = new Calendar();
 
echo $calendar->show();
?>
</body>
</html>  

Làm thế nào để tạo một lịch sự kiện động trong PHP?

Hướng dẫn php web calendar - lịch web php

3. Mã nguồn cuối cùng và nguồn

Làm thế nào để tạo lịch PHP?

Làm thế nào để tạo một lịch sự kiện động trong PHP?

Làm thế nào để bạn tạo một lịch trong HTML?

Làm thế nào để tạo lịch PHP?

Làm thế nào để tạo một lịch sự kiện động trong PHP?copy the source code below to a class file "calendar. php". We will go through each important function. This "Calendar" class is a complete object, which will echo a HTML calendar upon calling its "show()" function.

Làm thế nào để tạo một lịch sự kiện động trong PHP?

Làm thế nào để bạn tạo một lịch trong HTML?

Cấu hình cơ sở dữ liệu (dbconfig.php) ....

Các chức năng của người trợ giúp để xây dựng lịch sự kiện (các chức năng. ....

Hiển thị lịch sự kiện (chỉ mục. ....

Kiểm tra.....

Conclusion..

Làm thế nào để bạn tạo một lịch trong HTML?

Cách tiếp cận: Đầu tiên chúng ta sẽ sử dụng thẻ bảng, sẽ được sử dụng để tạo cấu trúc của lịch.Điều này sẽ cho chúng ta một ý tưởng về cách lịch được tạo bằng HTML.Sau đó, chúng tôi sẽ áp dụng một số thuộc tính CSS để làm cho thiết kế của lịch tốt hơn.using the table tag, which will be used to create the structure of the calendar. This will give us an idea of how the calendar is created using HTML. Later we will apply some CSS property to make the design of the calendar better.

Có bao nhiêu loại lịch được cung cấp bởi PHP?