PHP表,为每列添加html类


PHP tables, add html class for each column

我有一个PHP代码,用于从mysql查询创建表。我希望表中的每一列都有自动生成的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>标记的帮助不够:/。

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

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

附带说明:我不知道您的数据库驱动程序或行元素的名称结构。在上面的例子中,我假设它们是简单的字母数字名称,适合作为类名。如果没有,你必须转换它们,但这不会改变基本的想法。所以我省略了这样的东西,以保持示例的简单性和可读性。