有条件地格式化 HTML 表格值

Posted

技术标签:

【中文标题】有条件地格式化 HTML 表格值【英文标题】:Conditionally format HTML table values 【发布时间】:2012-03-09 19:34:14 【问题描述】:

我有一个自定义 Web 应用程序,从 FileMaker 数据库中获取数据并将其输出 XML -> php -> html

我目前正在一个大的 FOR 循环中生成一个表,并像这样回显结果:

echo '
<tr>
    <td><strong>Qty Approved</strong></td>
    <td><strong>' . $record['qty1 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty2 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty3 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty4 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty5 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty6 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty7 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty8 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty9 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty10 approved'][0] . '</strong></td>
    <td><strong>' . $record['qty11 approved'][0] . '</strong></td>
    <td>'. $approved_string . '</td>
</tr>

';

我想有条件地突出显示表中的一些值(这就是我对 $approved_string 所做的),例如,如果qty5 批准的值 > 0 然后将其设为红色,否则将其设为绿色。

我了解如何重新格式化表格以正确使用 CSS,但我不知道是否在使用 $approved_string 回显表格之前预先计算值,或者如果我可以/应该放置一个我的 echo 语句中的 if 语句?

【问题讨论】:

【参考方案1】:

重复的任务 -> 做一个函数:

function highlight_record_value($record, $qty_index) 
    $value = $record['qty'.$qty_index.' approved'][0];
    if ($qty_index == 5) 
        if ($value > 0)
            $color = 'red';
        else
            $color = 'green';

        return sprintf('<span style="color: %s;">%s</span>', $color, $value);
    

    //anything else you want

    return $value;


echo '
<tr>
    <td><strong>Qty Approved</strong></td>
    <td><strong>' . highlight_record_value($record, 1) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 2) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 3) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 4) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 5) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 6) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 7) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 8) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 9) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 10) . '</strong></td>
    <td><strong>' . highlight_record_value($record, 11) . '</strong></td>
</tr>

';

【讨论】:

以上是关于有条件地格式化 HTML 表格值的主要内容,如果未能解决你的问题,请参考以下文章

pandas:带有条件格式的 HTML 输出

如何有条件地格式化 Kendo UI 网格单元格(取决于值)剃刀

电子表格 - 基于其他单元格的条件格式单元格

Google 表格条件格式不适用于整个范围

使用 2 个电子表格的条件格式和 Importrange

根据范围有条件地更改Excel VBA中条形图中各个条形的颜色