基于数据库的html中的css颜色条件

时间:2017-01-07 06:11:34

标签: css html5 css3 angular-ui-bootstrap

我在这里使用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>

3 个答案:

答案 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;。整数表行类型往往表现更好?至少,这是我迄今为止所相信的。