PHP表,为每列添加html类

时间:2015-03-22 18:03:59

标签: php class html-table

我有一个用于从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>标记不够用:/。

1 个答案:

答案 0 :(得分:0)

您已经通过为表行创建唯一的类名来自行显示解决方案。只需将相同的想法应用于列。幸运的是,你的foreach循环中已经有了一个合适的密钥,你只需要使用它:

foreach ($sql_query_times[$SQLkey]["result"][$row] as $key=>$value) {
    $report .= sprintf('<td class="column-class-%s">%s</td>', $key, $value);
}

附注:我不知道您的数据库驱动程序或行元素的名称结构。在上面的例子中,我假设它们是适合作为类名的简单字母数字名称。如果不是你必须转换它们,但这并没有改变基本的想法。所以我放弃了这样的事情,以保持示例简单易读。