如何根据变量值修改文本颜色?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># </th> <th>Estado</th>"; echo "</tr>"; echo"</thead>"; echo "<br>"; while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) { echo "<tr>"; echo " <td>$rs->CodOrc </td>"; // 这里是修改的核心部分 echo " <td>"; if ($rs->estado === 'Em analise') { echo "<span style='color: red;'>$rs->estado</span> "; } else { echo "$rs->estado "; } 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> " : "$rs->estado ") . "</td>";
这样就能实现你想要的效果啦!
内容的提问来源于stack exchange,提问作者Pedro Miguel
相关产品推荐
相关产品推荐

