PHP 个表格,为每列添加 html class

PHP tables, add html class for each column

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

您已经通过为 table 行创建唯一的 class 名称来展示自己的解决方案。只需将相同的想法应用于列。幸运的是,您的 foreach 循环中已经有一个 suitable 键,您只需使用它:

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

旁注:我不知道您的数据库驱动程序或行元素的名称结构。在上面的示例中,我假设它们是简单的字母数字名称,它们是 suitable 作为 class 名称。如果不是,则必须转换它们,但这不会改变基本思想。所以我留下了这样的东西来保持这个例子简单易读。