2017-03-22 40 views
1

我有一个PHP生成的表,它简单地比较两个订单号并输出一个简单的通过或失败,如果它们匹配或不匹配。基于结果我试图让表格将行的背景颜色设置为绿色或红色(视觉识别)。PHP中的三元运算符生成表

保持简单我试图使用三元运算符,但行颜色只出现作为第一个参数(绿色),并且失败不会显示为红色。

表编号:

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

这似乎应该是简单的,我只是失去了一些东西根本。

谢谢

回答

2

你仍然在报价中,这将导致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>格式。

+0

感谢您的快速响应!你的代码解决了通过/失败的问题,我可以看到推理。但是,如果响应是通过的,表格正在向左移动(行号现在在表格之外),但是失败将显示在正确的列。有任何想法吗? –

+0

我已经更新了我的答案。出现我错过了关闭'>' –