我有一张表格,上面有这样的数据:
ID Heading Description Time Location Start_Date End_Date
63 Wed Serv Small group 19:00:00 null 2010-10-13 null
70 Fall Harvest Calvary null Pepin, Wi 2010-10-30 null
我的日历显示了正确日期的事件,但两个事件的时间都是晚上7:00,我不知道为什么。对于一个事件,时间是空的,但仍然是日历上的7:00。
看看名为$time的变量
<?php
$date = empty($_GET['currentpage']) ? time() : strtotime($_GET['currentpage']);
$day = date('d', $date);
$month = date('m', $date);
$year = date('y', $date);
$bigYear = date('Y', $date);
$first_day = mktime(0, 0, 0, $month, 1, $year);
$month_name = date('F', $first_day);
$day_of_week = date('D', $first_day);
$prevM = getDate(mktime(0, 0, 0, $month-1, 1, $year));
$nextM = getDate(mktime(0, 0, 0, $month+1, 1, $year));
$prevMonth = "{$prevM['year']}-{$prevM['mon']}";
$nextMonth = "{$nextM['year']}-{$nextM['mon']}";
$day_count = 1;
$day_num = 1;
$dates = new dates();
switch($day_of_week) {
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;
case "Sat": $blank = 6; break;
}
$days_in_month = cal_days_in_month(0, $month, $year);
echo "<table>".PHP_EOL;
echo "\t\t\t\t<thead>".PHP_EOL;
echo "\t\t\t\t\t<tr>".PHP_EOL;
echo "\t\t\t\t\t\t<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$prevMonth'>«</a></th>";
echo "\t\t\t\t\t\t<th colspan=3 class=\"noBorder\"><strong>$month_name"." "."$bigYear</strong></th>";
echo "\t\t\t\t\t\t<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$nextMonth'>»</a></th>";
echo "\t\t\t\t\t</tr>".PHP_EOL;
echo "\t\t\t\t\t<tr>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Sun</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Mon</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Tue</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Wed</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Thu</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Fri</th>".PHP_EOL;
echo "\t\t\t\t\t\t<th>Sat</th>".PHP_EOL;
echo "\t\t\t\t\t</tr>".PHP_EOL;
echo "\t\t\t\t</thead>".PHP_EOL;
echo "\t\t\t\t<tbody>".PHP_EOL;
echo "\t\t\t\t\t<tr>".PHP_EOL;
while($blank > 0)
{
echo "\t\t\t\t\t\t<td> </td>".PHP_EOL;
$blank = $blank-1;
$day_count++;
}
while($day_num <= $days_in_month)
{
foreach($dates->getRows() as $results)
{
$eventStartYear = substr($results['start_date'], 0, 4);
$eventStartMonth = substr($results['start_date'], 5, 2);
$eventStartDay = substr($results['start_date'], 8, 2);
$eventEndYear = substr($results['end_date'], 0, 4);
$eventEndMonth = substr($results['end_date'], 5, 2);
$eventEndDay = substr($results['end_date'], 8, 2);
$heading = $results['heading'];
$description = $results['description'];
$time = strftime("%l:%M %P", $results['time']);
if(!is_null($eventStartDay) && !is_null($eventStartMonth) && !is_null($bigYear) && !is_null($eventEndDay) && !is_null($eventEndMonth) && !is_null($eventEndYear) && $day_num == $eventStartDay && $month == $eventStartMonth && $bigYear == $eventStartYear)
{
$currentDay = $eventStartDay;
while($currentDay <= $eventEndDay)
{
echo "\t\t\t\t\t\t<td><a href=\"displayEvent.php?id=$id\">$day_num<h4>".$heading."</h4><h5>".$time."</h5></a></td>".PHP_EOL;
$currentDay++;
$day_num++;
$day_count++;
}
}
if(!is_null($eventStartDay) && !is_null($eventStartMonth) && !is_null($bigYear) && $day_num == $eventStartDay && $month == $eventStartMonth && $bigYear == $eventStartYear)
{
echo "\t\t\t\t\t\t<td><a href=\"displayEvent.php?id=$id\">$day_num<h4>".$heading."</h4><h5>".$time."</h5></a></td>".PHP_EOL;
$day_num++;
$day_count++;
}
if($day_count > 7)
{
echo "\t\t\t\t\t</tr>".PHP_EOL;
echo "\t\t\t\t\t<tr>".PHP_EOL;
$day_count = 1;
}
}
echo "\t\t\t\t\t\t<td><a href=\"noEvent.php\">$day_num</a></td>".PHP_EOL;
$day_count++;
$day_num++;
if($day_count > 7)
{
echo "\t\t\t\t\t</tr>".PHP_EOL;
echo "\t\t\t\t\t<tr>".PHP_EOL;
$day_count = 1;
}
}
while($day_count > 1 && $day_count <= 7) {
echo "\t\t\t\t\t\t<td> </td>".PHP_EOL;
$day_count++;
}
echo "\t\t\t\t\t</tr>".PHP_EOL;
echo "\t\t\t\t</tbody>".PHP_EOL;
echo "\t\t\t</table>".PHP_EOL;
?>