You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据变量值修改文本颜色?PDO查询结果Estado字段变色需求

解决PDO获取数据时根据特定值修改文本颜色的问题

嘿,这问题其实很好搞定!你只需要在输出estado字段的时候,加个简单的条件判断就行——当它的值是「Em analise」时,给文本套个带红色样式的标签,其他情况正常输出就好。

我把你的代码修改好了,重点看while循环里的estado输出部分:

$stmt = $conn->prepare("SELECT * FROM orcamento"); 
if ($stmt->execute()) { 
    echo "<div class='panel-body'>"; 
    echo "<div class='table-responsive'>"; 
    echo "<table class='table table-striped table-bordered table-hover'>"; 
    echo "<thead>"; 
    echo "<center>"; 
    echo "<tr>"; 
    echo " <th>#&nbsp;</th> <th>Estado</th>"; 
    echo "</tr>"; 
    echo"</thead>"; 
    echo "<br>"; 
    while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) { 
        echo "<tr>"; 
        echo " <td>$rs->CodOrc &nbsp; </td>";
        // 这里是修改的核心部分
        echo " <td>";
        if ($rs->estado === 'Em analise') {
            echo "<span style='color: red;'>$rs->estado</span> &nbsp;";
        } else {
            echo "$rs->estado &nbsp;";
        }
        echo "</td>";
        echo "</tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "Error"; 
}

简单解释下:

  • 我们在输出estado的<td>里加入了条件判断,用===精确匹配「Em analise」这个值
  • 如果匹配成功,就用<span style='color: red;'>把文本包起来,让它显示红色
  • 不匹配的话就正常输出原文本,样式不受影响

要是你觉得写if-else有点啰嗦,也可以用更简洁的三元运算符写法,效果完全一样:

echo " <td>" . ($rs->estado === 'Em analise' ? "<span style='color: red;'>$rs->estado</span> &nbsp;" : "$rs->estado &nbsp;") . "</td>";

这样就能实现你想要的效果啦!

内容的提问来源于stack exchange,提问作者Pedro Miguel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:15:23