如何根据其中一个单元格的值更改动态填充表格行的背景颜色?

时间:2016-06-25 22:04:30

标签: php html mysql

我有一个表从mysql数据库动态填充。表中的一列是日期。如果日期超过3天,我想更改行的背景颜色。试图解决这个问题,我已经找到了公式,在test.php页面上我可以使用文本框。我需要知道如何将它应用到表格行。

function call_log_date($enter_date)
{
    $today      = strtotime(date("m/d/Y"));
    $other_date = strtotime($enter_date) . "<br>";
    // returns number of days between dates(because of abs, will always
    // return positive number)
    $diff = ceil(abs($today - $other_date) / (60 * 60 * 24));
    if ($diff > 3) {
        $bg_color   = "#FFFF00"; //yellow
        $font_color = "#FF0000"; //red
    } else if ($diff > 1 && $diff <= 3) {
        $bg_color   = "#FFFFFF"; // white
        $font_color = "#FF0000"; //red
    } else {
        $bg_color   = "#FFFFFF"; // white
        $font_color = "#000000"; //black
    }

    return $bg_color . $font_color;
}

以上是我正在使用的适用于文本框的功能

2 个答案:

答案 0 :(得分:0)

尝试这样(未经测试/未调试):

<强> PHP:

$tdclass = call_log_date($enter_date);
echo '<td class="' .$tdclass. '">' .$enter_date. '</td>';


function call_log_date($enter_date) {
    $today = strtotime(date("m/d/Y"));
    $other_date = strtotime($enter_date)."<br>";
    $diff =  ceil(abs($today - $other_date) / (60*60*24)); //returns number of days between dates(because of abs, will always return positive number)
    if($diff > 3) {
        return 'colorA';
    }else if($diff > 1 && $diff <= 3) {
        return 'colorB';
    }else {
        return 'colorC';
    }
}

<强> CSS:

.colorA{background-color:#FFFF00;color:#FF0000;}
.colorB{background-color:#FFFFFF;color:#FF0000;}
.colorC{background-color:#FFFFFF;color:#000000;}

答案 1 :(得分:0)

这是一个如何将颜色放入表格行(CSS内联样式)的示例:

<table>
    <tr style="background-color: #cc6600">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
</table>

如果要动态创建表格,只需使用您的功能更改该颜色。