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>
格式。
我有一个 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>
格式。