我在这里使用bootstrap。我想红色标记那些Activity包含“N”的行。在我的数据库中,Activity字段有两个字符。他们是Y& N.我也在这里使用jquery数据表。我该怎么办?
<?php
while($reg_data = mysqli_fetch_array($result_sql2))
{
?>
<tr class="success">
<td > <?php echo $reg_data['ID'] ?> </td>
<td> <?php echo $reg_data['Name'] ?> </td>
<td> <?php echo $reg_data['Email'] ?> </td>
<td> <?php echo $reg_data['Type'] ?> </td>
<td> <?php echo $reg_data['Dept'] ?> </td>
<td> <?php echo $reg_data['Activity'] ?> </td> // based on this field //////
</tr>
答案 0 :(得分:3)
一种最简单快捷的方法是提供内联样式:
<td style="background-color: <?php echo ($reg_data['Activity'] == "Y") ? "green": "red" ?>;">
<?php echo $reg_data['Activity'] ?>
</td>
如果需要覆盖,您可能需要添加!important
:
<td style="background-color: <?php echo ($reg_data['Activity'] == "Y") ? "green": "red" ?> !important;">
注意:我知道内联样式不好。
更新:抱歉,我错过了您需要在行上执行此操作。您可以在<tr>
而不是<td>
上应用相同的内容。所以你的代码将是:
<tr class="success" style="background-color: <?php echo ($reg_data['Activity'] == "Y") ? "green": "red" ?>;">
<td > <?php echo $reg_data['ID'] ?> </td>
<td> <?php echo $reg_data['Name'] ?> </td>
<td> <?php echo $reg_data['Email'] ?> </td>
<td> <?php echo $reg_data['Type'] ?> </td>
<td> <?php echo $reg_data['Dept'] ?> </td>
<td> <?php echo $reg_data['Activity'] ?> </td>
</tr>
感谢Darren Sweeney将其指出。
答案 1 :(得分:0)
检查window.onload
。
参考:https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onload
根据所需<td>
上的活动设置一个类,然后在window.onload上使用jQuery .parent()函数,并将css添加到<td>
的父级,其中包含&#34; Y&#34 ;作为一个班级。
window.onload = function() {
$('.YClassName').parent().css('background', 'YOURCOLOR');
};
答案 2 :(得分:0)
另一种方法是创建一个CSS类,并在满足条件时将其添加到元素中。
.red {
background-color: red;
}
.green {
background-color: green;
}
然后
<tr class="success <?php echo ($reg_data['Activity'] == "Y") ? "green": "red" ?>">
//table data
</tr>
作为旁注,使用&#34; 1&#34;和&#34; 0&#34;而不是&#34; Y&#34;和&#34; N&#34;。整数表行类型往往表现更好?至少,这是我迄今为止所相信的。