2016-06-25 45 views
0

我有一个表从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; 
} 

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

+0

Euhm,只是将它应用到您的表格行而不是您的文本框?我想我们需要看看你是如何使用这个函数的,因为我没有看到像'#FFFF00#FF0000“这样的输出如何应用于文本框以开始... – Pevara

回答

0

尝试像这样(未经测试/ undebugged):

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;} 
0

这是一个例子,如何把一个表行的颜色(CSS内嵌样式):

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

如果您是动态创建一个表,只是改变你的函数的颜色。

相关问题