PHP 中的三元运算符生成了 table

Ternary operator in PHP generated table

我有一个 PHP 生成的 table,它简单地比较两个订单号并输出一个简单的通过或失败,如果它们匹配或不匹配。根据结果​​,我试图让 table 将行的背景颜色设置为绿色或红色(视觉识别)。

为了简单起见,我正在尝试使用三元运算符,但行颜色仅作为第一个参数(绿色)出现,失败不会显示为红色。

Table代码:

while ($add_info = sqlsrv_fetch_array($getres)){


    $row = ($add_info['row']);
    $worksorder = ($add_info['id']);
    $scanned = ($add_info['scanned']);
    $result = ($add_info['result']);


echo ("<tr  ($result == 'PASS') ? style='background-color:green' : style='background-color:red'> <td/> $row    <td/> $worksorder  <td/> $scanned   <td/> $result 
</tr>");

特别是运算符部分:

<tr  ($result == PASS) ? style='background-color:green' : style='background-color:red'>

Screenshot of issue

这看起来应该是直截了当的,我只是缺少一些基本的东西。

谢谢

您仍在引号内,这将导致 PHP 回显所有内容。你的意思是:

echo "<tr ";
echo $result == 'PASS' ? "style='background-color:green'>" : "style='background-color:red'>";
echo "<td/> $row    <td/> $worksorder  <td/> $scanned   <td/> $result";
echo "</tr>";

此外,我认为那些自闭合 <td/> 标签是无效的...我建议使用完整的 <td>cell contents</td> 格式。