【问题标题】:css color condition in html based on database基于数据库的html中的css颜色条件
【发布时间】:2017-01-07 14:35:03
【问题描述】:

我在这里使用了引导程序。我想用红色标记那些 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>

【问题讨论】:

    标签: html css angular-ui-bootstrap


    【解决方案1】:

    一种快速简便的最佳方法是提供内联样式:

    <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;">
    

    注意:我知道内联样式不好。


    更新:抱歉,我错过了您需要在行上进行的操作。您可以在&lt;tr&gt; 上应用相同的东西,而不是&lt;td&gt;。所以你的代码将是:

    <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 指出。

    【讨论】:

    • 这是不正确的,op 说:I want to red mark those row - 这为单元格着色,而不是行 - I want to red mark those row 可能会被误解...
    • @DarrenSweeney Lemme 再次检查。
    • @DarrenSweeney 更新并为您的老板提供积分! :)
    【解决方案2】:

    检查window.onload

    参考:https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onload

    根据所需&lt;td&gt; 上的活动设置一个类,然后在window.onload 上使用jQuery .parent() 函数并将css 添加到包含“Y”作为类的&lt;td&gt; 的父级。

    window.onload = function() {
      $('.YClassName').parent().css('background', 'YOURCOLOR');
    };
    

    【讨论】:

    • 使用简单的 CSS 会不会太矫枉过正?
    • 我的回答是基于他想要&lt;tr&gt; 上的颜色而不是&lt;td&gt; 上的颜色!!
    • @PraveenKumar 如果不是这样,那么是的!只是为了 td 上的颜色,这是一个矫枉过正!
    【解决方案3】:

    另一种方法是创建一个 CSS 类并在满足您的条件时将其添加到元素中。

    .red {
     background-color: red;
    }
    
    .green {
     background-color: green;
    }
    

    然后

    <tr class="success <?php echo ($reg_data['Activity'] == "Y") ? "green": "red" ?>">
    
    //table data
    
    </tr>
    

    作为旁注,最好使用“1”和“0”而不是“Y”和“N”。整数表行类型往往表现更好?至少,到目前为止我是这么相信的。

    【讨论】:

    • 同意12...:)
    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2021-02-05
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多