有条件地格式化 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 表格值的主要内容,如果未能解决你的问题,请参考以下文章