2016-01-24 132 views
0

我想根据YouTube上的视频教程使用PHP做日历。我正在做他们正在做的事情,但他们的表格有所不同。我找不到我的错误...请任何身体帮助....给代码和这个图片....JavaScript日历不工作

这是我的calender-

calender

这是教程calender-

calender

<html> 
<head> 
    <title>Calender</title> 
</head> 

<body> 
    <?php 
     if(isset($_GET['day'])) 
     { 
      $day = $_GET['day']; 
     }else 
     { 
      $day = date("j"); 
     } 

     if(isset($_GET['month'])) 
     { 
      $month = $_GET['month']; 
     }else{ 
      $month = date("n"); 
     } 

     if(isset($_GET['year'])) 
     { 
      $year = $_GET['year']; 
     }else{ 
      $year = date("Y"); 
     } 

     //calender variable----------- 
     $currentTimeStamp = strtotime($year-$month-$day); 
     $monthName = date("F",$currentTimeStamp); 
     $numDays = date("t",$currentTimeStamp); 
     $counter = 0; 
    ?> 


    <table border = "1"> 
     <tr> 
      <th><input style = "width : 50px"type = "button" value = "<" name = "prevbutton"></input></th> 
      <th colspan = "5"><?php echo $monthName.", ".$year?></th> 
      <th><input style = "width : 50px" type = "button" value = ">" name = "nextbutton"></input></th> 
     </tr> 

     <tr> 
      <td width = "50px">Sun</td> 
      <td width = "50px">Mon</td> 
      <td width = "50px">Tue</td> 
      <td width = "50px">Wed</td> 
      <td width = "50px">Thu</td> 
      <td width = "50px">Fri</td> 
      <td width = "50px">Sat</td> 
     </tr> 

     <?php 
      echo "<tr>"; 
       for($i = 1;$i<$numDays+1;$i++,$counter++) 
       { 
        $timeStamp = strtotime($year-$month-$i); 
        if($i == 1) 
        { 
         $firstDay = date('w', $timeStamp); 
         for($j = 0;$j<$firstDay;$j++,$counter++) 
         { 
          echo "<td>&nbsp</td>"; 
         } 
        } 
        if($counter%7==0) 
        { 
         echo "</tr><tr>"; 
        } 
       } 
      echo "</tr>"; 
     ?> 

    </table> 
</body> 

+0

这看起来很奇怪'$ currentTimeStamp =的strtotime($ $年 - 月 - 日$)3级的错误;'我想你想添加一个** - **之间的值。尝试:'$ currentTimeStamp = strtotime($ year。“ - ”。$ month。“ - ”。$ day);' – Sammy

+0

你在哪里添加日期值的'​​'?我只能看到一个空的。 – Sammy

+0

没有变化Sammy .... :( – Arafat

回答

1

你必须在PHP代码

echo "<tr>"; 
      for($i = 1;$i<$numDays+1;$i++,$counter++) 
      { 
       $timeStamp = strtotime($year.'-'.$month.'-'.$i);// it should be string 
       if($i == 1) 
       { 
        $firstDay = date('w', $timeStamp); 
        for($j = 0;$j<$firstDay;$j++,$counter++) 
        { 
         echo "<td>&nbsp</td>"; // show days 
        } 
        $counter++; // first row counter correction 
       } 

        echo "<td>$i</td>"; 

       if($counter%7==0) 
       { 
        echo "</tr><tr>"; 
       } 
      } 
     echo "</tr>";