所以我目前使用这个http://davidwalsh.name/php-calendar作为我的日历,但我有麻烦提出了一种方法来添加到下个月的'下一个'/'上一个'链接...任何帮助很大不胜感激!日历 - 下一个链接
回答
由于绘制压延机的功能是
function draw_calendar($month,$year){
你必须提供$month
并在下一/上一环节$year
,例如
/calendar.php?month=12&year=2011
单击此链接时,此数据可在$_GET
中找到。你不想unsanitized数据,所以你把它拿来像这样在您的日历脚本的顶部:
$input = filter_input_array(
INPUT_GET,
array(
'month' => array(
'filter' => FILTER_VALIDATE_INT,
'options' => array('min_range' => 1, 'max_range' => 12)
),
'year' => array(
'filter' => FILTER_VALIDATE_INT,
'options' => array('min_range' => 2010, 'max_range' => 2015)
)
)
);
过滤功能将确保我们得到1和12,以及2010年和2015年之间的年间的一个月(相应调整或者按照您认为合适的方式删除选项)。如果通过的号码不在该范围内(或者没有链接被点击),我们将为他们获得false
,这意味着我们将不得不设置理智默认值,例如,
$input['year'] = $input['year'] ?: date('Y');
$input['month'] = $input['month'] ?: date('n');
这将既可以使用传递给脚本的有效值或无效值的情况下,一年和/或月设置为当前年份和/或月份。
现在画的日历:
echo draw_calendar($input['month'], $input['year']);
对于下一/上一链接,您可以手动检查月份是否是12或1,然后增加/相应减少当年或使用DateTime
对象
$dateTime = new DateTime;
$dateTime->setDate($input['year'], $input['month'], 1));
printf(
'<a href="/calendar.php?month=%d&year=%d">Next</a>' .
'<a href="/calendar.php?month=%d&year=%d">Previous</a>',
$dateTime->modify('-1 month')->format('n'),
$dateTime->format('Y'),
$dateTime->modify('+2 month')->format('n'),
$dateTime->format('Y')
);
另一种选择是,以目前的月和年在会话中存储,然后就甲肝e下一个/上一个链接,无需年份和月份,而只是像+1和-1这样的来回。但是,你没有直接的方式跳到某个月。
这就是它的全部。
“INPUT_GET”后是否缺少逗号? –
@Jared是的,谢谢。固定。随时编辑任何其他小错别字 – Gordon
- 1. 使用VB.NET链接两个日历
- 2. 帮助,php日历链接
- 3. 如何创建一个asp.net日历链接到数据库?
- 4. fullcalendar点击一个链接或按钮打开日历
- 5. Drupal上一个和下一个链接
- 6. 获取下一个星期日的下一个日期(不使用日历)
- 7. 创建“订阅日历”链接以在Google日历和Apple日历上工作
- 8. 将变量添加到Codeigniter日历下一页/上一页链接
- 9. 将MOSS日历Web部件链接到共享Exchange日历
- 10. 用html链接打开android日历
- 11. 日历上的链接标记事件
- 12. 全日历:格式标题为链接
- 13. 将CalendarView链接到设备日历
- 14. 提供“添加到日历”链接
- 15. 将Google表格链接到Google日历
- 16. CalendarView到设备日历链接
- 17. 在asp.net中使用超链接日历
- 18. 一个和下一个链接
- 19. 下个月PHP日历
- 20. 如何链接在日历上一个和下一个月没有刷新页面
- 21. 将链接中的“下一个”和“前一个”链接拼合起来
- 22. 如何创建一个单日历日历作为scooll日历
- 23. 将活动从一个日历复制到另一个日历
- 24. 将NSDates从一个日历转换为另一个日历
- 25. 下一个/上一个锚链接,当用户滚动时如何更新下一个/上一个链接
- 26. 如何获取日历中的前一个和下一个月
- 27. 在日历控件中禁用上个月的链接
- 28. java日历中如何获得下一个和previuos日?
- 29. 将公开Google日历添加到我们的日历视图的链接
- 30. 链接p:时间表prev next按钮p:日历如google日历
加倍努力。试着了解正在发生的事情,并实施您所需要的功能。 – TJHeuvel