最近,有人非常友好地给了我一些代码来创建一个用HTML模拟日程表的表 - 下面是代码
function make_row( $slot , array $list )
{
$output = '';
$output .= '<tr><td>' . $slot . '</td>';
for ( $i = 1; $i <= 7 ; $i++ )
{
$details = ' ';
if ( isset($list[ $i ]) )
{
$details = $list[ $i ];
}
$output .= '<td>' . $details . '</td>';
}
$output .= '</tr>';
return $output;
}
$timeslot = '';
$item = array();
while ($eventrow = mysql_fetch_array($sqlevents))
{
$timeslot = $eventrow['PreferredStart'];
$day = (int)$eventrow['idDay'];
if ( !is_array( $item[ $timeslot ] ) )
{
$item[ $timeslot ] = array();
}
$item[ $timeslot ][ $day ] = $eventrow['EventDetails'];
}
foreach( $item as $slot => $list )
{
echo make_row( $slot, $list );
}
但是,我的数据库表设置已更改。我现在有半小时的时段而不是全时的时段。该表正确呈现,但我试图确保如果有人进入约会,则整个块在日历中标记,而不仅仅是开始时间。有人可以帮我添加结束时间,以及中间的时间段吗?
非常感谢, 布雷特
答案 0 :(得分:0)
如果不知道数据库结构或生成$sqlevents
的sql查询,这很难回答,但看起来时间段只是直接从数据库中获取:
$timeslot = $eventrow['PreferredStart'];
您可以通过查找结束时间来更改此值(我假设在数据库中命名为PreferredEnd
,但您显然必须自己检查,因为我不知道您的数据库架构)并添加两个在一起:
$timeslot_start = $eventrow['PreferredStart'];
$timeslot_end = $eventrow['PreferredEnd']; // I'm gonna assume this is right
$timeslot = $timeslot_start.'-'.$timeslot_end; // Make a new field combining both
现在你的$timeslot
var应该包含开始和结束时间。