在我的数据库中,有些日子有数据,有些没有;我有一列包含数据,另一列包含提交的日期和时间。所以我想创建这个日历。因此它将显示该月的所有日期,然后数据的日期将是超链接。
当我点击该链接时,它将显示当天提交的所有数据。我可能会在第一个循环中使用循环。一个月一个月,然后一个用于显示每一天。
然而,由于一年中的每个月都有不同的天数和闰年是一个问题,我不知道如何写条件。
感谢任何帮助或指导。
答案 0 :(得分:1)
$start = '2009-01-01';
$current = strtotime($start);
while(date('n',$current)==date('n',strtotime($start))) {
// do your stuff here, $current includes the current date.
// the loop will run through the complete month
$current = strtotime(date('Y-m-d',$current) . '+1 day');
}
答案 1 :(得分:0)
您需要先了解一个月中某一天的哪一天开始,这样您才能知道要吐出多少个空盒子。然后弄清楚那个月有多少天。然后循环你的日子,在星期六之后回到下一行。然后用空框填写最后一行的其余部分。
这里有一些非常简单(和注释)的代码:
http://gitorious.org/wfpl/wfpl/blobs/master/calendar.php
如果您只是重写calender_day()
(为日历上的每个单元格调用它,它的第一个参数告诉您它是什么样的一天),您可以使用该代码而不使用其设计的其余框架。 (不是在月份,有事件,无事件)并重写在每行末尾调用的calendar_week()
。
或者您可以查看如何执行相关操作,例如了解月份开始的周数等等。