我是编程的初学者,我必须为我的学校项目建立一个网站。 在一些帮助下,我终于建立了一个日历:是的! 但现在我必须浏览我的日历:经历数月和数年。 例如,今天是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>
答案 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变量。