我有一个用于从mysql查询创建表的PHP代码。我希望表的每一列都有自动生成的html类。
例如:<class="column-1"> for the first column <class="column-2">
表示第二个,依此类推。
我怎样才能做到这一点?
这是PHP代码的一部分:
$report .= '<table class="sql-table"><thead><tr class="sql-Header-Row">';
foreach (array_keys($sql_query_times[$SQLkey]["result"][0]) as $field) {
if ($Report_Name == 'Unsaved Report')
$report .= '<th><b><a href="javascript: document.SQLForm.submit();" onclick="document.SQLForm.action+=\'&SQL_ORDER_BY[]='.$field.'\'">'.$field.'</a></b></th>';
else
$report .= '<th><b>'.$field.'</b></th>';
}
$OddEven=array('Even','Odd');
$report .= '</tr></thead><tbody>';
for ($row=0; $row<count($sql_query_times[$SQLkey]["result"]); $row++) {
$report .= '<tr class="sql-Row-'.$row.' sql-'.($OddEven[$row%2]).'-Row">';
foreach ($sql_query_times[$SQLkey]["result"][$row] as $value)
$report .= '<td>'.($value).'</td>';//is_array(maybe_unserialize($value))?print_r(maybe_unserialize($value),1):
$report .= '</tr>';
}
$report .= '</tbody></table>';
<col>
标记不够用:/。
答案 0 :(得分:0)
您已经通过为表行创建唯一的类名来自行显示解决方案。只需将相同的想法应用于列。幸运的是,你的foreach循环中已经有了一个合适的密钥,你只需要使用它:
foreach ($sql_query_times[$SQLkey]["result"][$row] as $key=>$value) {
$report .= sprintf('<td class="column-class-%s">%s</td>', $key, $value);
}
附注:我不知道您的数据库驱动程序或行元素的名称结构。在上面的例子中,我假设它们是适合作为类名的简单字母数字名称。如果不是你必须转换它们,但这并没有改变基本的想法。所以我放弃了这样的事情,以保持示例简单易读。