网站日历控制

时间:2015-01-15 14:30:58

标签: php html calendar controls

我是编程的初学者,我必须为我的学校项目建立一个网站。 在一些帮助下,我终于建立了一个日历:是的! 但现在我必须浏览我的日历:经历数月和数年。 例如,今天是2015年1月15日,我想要到2016年,或者到1月26日。我真的不知道怎么做...... :( 有人可以帮帮我吗?我会很感激:) 我日历的代码:

 <!DOCTYPE html>

    <html>
    <head>


    </head>



    <body>

    <?php
    setlocale(LC_ALL, 'nl_NL');
    $today_date = time();


    $day = date('d', $today_date); 
    $month = date('m', $today_date); 
    $year = date('Y', $today_date);

    // Make first day of the month 
    $first_day = mktime(0,0,0,$month, 1, $year); 

    // Get name of the month 
    $title = date('F', $first_day);


    // What day of the week is the first day of the month 
    $day_of_week = date('D', $first_day);

    // Lege plekken invullen
    switch($day_of_week)  { case "Sat": $blank = 6; break;
                        case "Sun": $blank = 0; break; 
                        case "Mon": $blank = 1; break; 
                        case "Tue": $blank = 2; break; 
                        case "Wed": $blank = 3; break; 
                        case "Thu": $blank = 4; break; 
                        case "Fri": $blank = 5; break; 
                         }

    // hoeveel dagen in een maand 
    $days_in_month = cal_days_in_month(0, $month, $year); 

    // Bovenkant

    echo '<table border="0" cellspacing="0" cellpadding="0" width="1500px">  ';     

    echo '<tr><th colspan="7" class = "monthname"> ' .$title . ' ' . $year. ' </th></tr>';  

    echo '<tr> <td width="50" class="weekend">Zondag</td>
           <td width="50" class = "dag">Maandag</td>
           <td width="50" class = "dag">Dinsdag</td>
           <td width="50" class = "dag">Woensdag</td>
           <td width="50" class = "dag">Donderdag</td>
           <td width="50" class = "dag">Vrijdag</td>
           <td width="50" class="weekend">Zaterdag</td>
      </tr>';       

    $day_count = 1;

     echo '<tr>'; 
     // De dagen die er in een maand niet zijn invullen met een leeg vak 
     while ( $blank > 0 ) {
      if ($day_count == 1 || $day_count == 7) {
        echo '<td class="weekend"> </td>';
      } else 
      {echo '<td></td>'; } 

    $blank = $blank - 1; 

    $day_count++; 
       }
    $day_num = 1;

    while ($day_num <= $days_in_month) { if ($day_count == 1 || $day_count == 7) { if ($day_num ==         $day) { echo ' <td class="weekend today">
    <a href="./dag=' .$day_num. '&maand=' .$month. '"> ' .$day_num. ' </a>
    </td>'; } else { echo '

    <td class="weekend">
      <a href="./dag=' .$day_num. '&maand=' .$month. '"> ' .$day_num. ' </a>
    </td>'; } } else { if ($day_num == $day) { echo '

    <td class="today">
      <a href="./dag=' .$day_num. '&maand=' .$month. '"> ' .$day_num. ' </a>
    </td>'; } else { echo '

    <td>
      <a href="./dag=' .$day_num. '&maand=' .$month. '"> ' .$day_num. ' </a>
    </td>'; } } $day_num++; $day_count++; 
    // Seperate the week out onto new lines 
    if ($day_count > 7) { echo '</tr>

      <tr>
    '; $day_count = 1; } } 
    // Blank out days not needed at the end of the month 
    while ($day_count > 1 && $day_count <= 7) { if ($day_count == 1 || $day_count == 7) { echo '<td class="weekend">
    </td>'; } else 
    { echo '<td>
    </td>'; } $day_count++; } 
    // End the table 
    echo '</tr></table>';



    ?>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

你可以用2 Get Variables来做到这一点。 m(月)和y(年)。 改变你的行:

$month = date('m', $today_date); 
$year = date('Y', $today_date);

成:

$month = (isset($_GET['m'])) ? $_GET['m'] : date('m', $today_date);
$year = (isset($_GET['y'])) ? $_GET['y'] : date('Y', $today_date);

现在您可以使用月份和年份调用脚本:

?m=3&y=2014

是您对2014年3月的看法。 您可以创建使用y和m Get变量调用脚本的Next和Previous链接。

答案 1 :(得分:0)

尝试使用mktime()而不是time()。

应该传输mktime函数的参数而不是传递GET变量。