【发布时间】:2012-11-05 19:38:31
【问题描述】:
很抱歉,如果之前有人问过这个问题,但是我无法找到问题的答案。
我正在尝试用 PHP 为我的 Web 应用程序构建日历系统和日程安排系统,但在某个特定领域遇到了困难。
我有一个“for”语句,它将制定一天中从上午 12:00 开始到晚上 11:30 结束的时间
在这个 for 循环中,我有一个 foreach,我想回显数组中匹配特定时间的对象。
我尝试过的所有事情,包括使用 for、while 和 foreach 语句都没有显示我所追求的,这是时间旁边排列的事件。
这是我的代码
<?php
$tStart = strtotime($start_time);
$tEnd = strtotime($end_time);
$tNow = $tStart;
while($items = mysql_fetch_object($result)){
$events[] = $items;
}
for($tNow=$tStart; $tNow<$tEnd; $tNow=strtotime('+30 minutes',$tNow)){
// Time to color the rows to make it easier to read
if(!isset($day_row)){
$day_row = "0";
}
if(isset($day_row) && $day_row >= "2"){
$day_row--;
}
else{ $day_row++;
}
//This bit draws the first column.
echo "<tr><td class=\"day_row".$day_row."\" width=\"70px\">".date("h:i A",$tNow)."</td>";
// MySQL stuff is now here
foreach($events as $e => $item){
if($item->apnt_start == $tnow){
$rowspan = ((strtotime($item->apnt_finish)-strtotime($item->apnt_start))/"1800");
echo "<td class=\"day_row_apnt\" rowspan=\"$rowspan\">".$item->apnt_start."-".$item->apnt_finish." ".$item->apnt_brief."</td></tr>";
}
}
}
?>
目前我有一个页面
上午 12:00
上午 12:30
上午 01:00
上午 01:30
凌晨 02:00
02:30 AM
03:00 AM
03:30 AM
04:00 AM
04:30 AM
上午 05:00
05:30 AM
在我想要的约会时间旁边。
我正在尝试实现类似于http://mrbs.sourceforge.net/ 但是我无法使用他们的系统,因为我无法正确集成它,我尝试查看他们的代码,它似乎指向许多文件,我无法理解我所追求的功能。
如果这还不够清楚,请告诉我,我们会尝试进一步解释。
【问题讨论】:
-
您的代码会产生什么结果,它与您要查找的内容有何不同?
-
使用 if 语句在 foreach 循环下没有任何显示。似乎 $tNow 将停留在上午 12:00 并且不会前进。如果有事件,我如何让 $tNow 继续前进,以便 foreach 最终实现?