我想删除从 php.ini 中的 html 表格生成的无关表格单元格。请参阅此示例中的表格末尾:http: //leobee.com/android/push/so/stdt3.php **注意我尚未更新代码以在 IE 中工作,请使用壁虎浏览器。
我在 jQuery 中找到了这个示例:http ://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tr_deletecell 。但是,在 php 中生成 colspan 单元格后,我需要删除额外的单元格。
问题:
php 是否可以在处理 colspan 单元格后操纵 DOM 以删除表格单元格?如果可能的话,您能否规定解决此问题的过程或我应该研究哪些方法或库。
您是否知道另一个类似于我的表格的示例,它可以编程创建按小时细分的一天的时间表,可以让事件扩展超过一个小时?
代码:
<?php
// events array
$events = array(
array('Atari', 'Hall D' , '10:00 PM'),
array('Sonic the Hedgehog', 'Panel 4' , '11:00 AM'),
array('Bleach', 'Video 3' , '4:00 PM'),
array('Sailor Moon ', 'Panel 4' , '6:00 PM')
);
$events_flat = array();
foreach($events as $event)
{
$events_flat[$event[0]] = $event[1] . $event[2];
}
// location array
$locations = array(
'Arena', 'Hall D', 'Video 1', 'Video 2', 'Video 3',
'Video 4', 'Video 5', 'Video 6', 'HD Theater', 'Panel 1',
'Panel 2', 'Panel 3', 'Panel 4', 'WorkShop 1', 'WorkShop 2',
'WorkShop 3', 'WorkShop 4', 'Autograph 1', 'Autograph 2'
);
// event start time array
$times = array(
'9:00 AM', '10:00 AM', '11:00 AM','12:00 PM', '1:00 PM', '2:00 PM',
'3:00 PM', '4:00 PM', '5:00 PM', '6:00 PM', '7:00 PM',
'8:00 PM', '9:00 PM', '10:00 PM', '11:00 PM', '12:00 AM',
'1:00 AM', '2:00 AM'
);
$html = '<table><tr><td bgcolor="green"><table name="schedule" id="schedule" border="1" bordercolor="black"><tr><td></td>';
foreach ($times as $time)
{
$html .= '<td width="100" height="25" bgcolor="yellow">';
$html .= htmlspecialchars($time);
$html .= '</td>';
}
foreach ($locations as $location)
{
$html .= '<tr><td width="100" height="25" bgcolor="pink">';
$html .= htmlspecialchars($location);
$html .= '</td>';
foreach ($times as $time)
{
$event = array_search($location . $time, $events_flat);
if ($event === FALSE)
{
$html .= '<td width="100" height="25" bgcolor="#70DBDB">';
$html .= ' ';
}
else
{
//http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tr_deletecell
//http://www.php.net/manual/en/function.array-pop.php
//duration in hours
// Todo detect ie and use colSpan
$duration =3;
$html .= '<td colspan="'.$duration.'" width="100" height="25" bgcolor="orange">';
$html .= htmlspecialchars($event);
//$event = array_pop($event-1);
}
$html .= '</td>';
// $deletecell=document.getElementById("schedule").rows[this];
// $deletecell.deleteCell(-1);
}
$html .= ' </tr>';
}
$html .= '</table></td></tr></table>';
echo $html;
?>