php - 如何根据单元格值更改 php 中的单元格表颜色?

标签 php html css

我刚开始用 php 编程。

我做了一个表,从数据库返回值。 我正在尝试执行以下操作:根据第三列的值更改它的颜色。

我是这么想的,但是数值重复,颜色不对。

谁能帮帮我?

你明白我的问题了吗?

谢谢大家。对于给您带来的不便,我深表歉意。

代码:

<table style="width:324px;" border="3" cellspacing="1" cellpadding="1">
    <tr>
        <td style="background-color:#A4A4A4;">
            <b><font face="Arial, Helvetica, sans-serif">Task</font></b>
        </td>
        <td style="background-color:#A4A4A4;">
            <b><font face="Arial, Helvetica, sans-serif">deadline</font></b>
        </td>
        <td style="background-color:#A4A4A4;">
            <b><font face="Arial, Helvetica, sans-serif">Status</font></b>
        </td>
    </tr>
<?php
$i=0;
while ($i < $num)
{
    $f1=mysql_result($result,$i,"Task");
    $f2=mysql_result($result,$i,"deadline");
    $f3=mysql_result($result,$i,"status");

    ?>
    <tr style="background-color:#A4A4A4;">
        <td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
        <td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
        <td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
        <? 
        if($f3==2)
        { 
            // Display RED 
            ?> 
            <td style="background-color:#FF0;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td> 
            <? 
        }
        elseif($f3==1)
        { 
            // Display YELLOW 
            ?> 
            <td style="background-color:#0F0;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td> 
            <?     
        }
        else
        { 
            ?> 
            <td  style="background-color:#F00;"><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td> 
            <? 
        } 
        ?> 
    </tr> 
    <?php
    $i++;
}
?>
</table>

代码结果:

enter image description here

已解决

感谢大家的帮助。 状态是记录在数据库中的预定义值。仅在 1 到 4 之间,以便分辨率正确地为@Daniel Andre 服务。 所有的回复都对我来说是有效的,我试图了解更多的 php,但它是如此简单。 再次感谢大家的宝贵时间和帮助。

最后的结果是:

<table style="width:324px;" border="3" cellspacing="1" cellpadding="1">
<tr>

<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Tarefa</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Prazo</font></b>
</td>
<td style="background-color:#A4A4A4;">
<b><font face="Arial, Helvetica, sans-serif">Status</font></b>
</td>
</tr>

<?php
$i=0;while ($i < $num) {
$f1=mysql_result($result,$i,"idTarefa");
$f2=mysql_result($result,$i,"PrazoExecucao");
$f3=mysql_result($result,$i,"status");

?>
<tr style="background-color:#A4A4A4;">
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<!--<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>-->

<?php
  $status_colors = array(1 => '#0000FF', 2 => '#00FF00', 3 => '#FFFF00', 4 => '#FF0000');
?>
<td style="background-color: <?php echo $status_colors[$f3]; ?>;">
</tr> 


<?php
$i++;
}
?>
</table>

enter image description here

最佳答案

如果状态是静态的(意思是,它们不会改变,而是一组固定的状态),您可以制作一个将状态映射到颜色的 php 数组:

<?php
  $status_colors = array(1 => '#FF0', 2 => '#F0F', 3 => '#0FF', 4 => '#0F0');

然后,在你的 td 中,使用正确的状态颜色:

<td style="background-color: <?php echo $status_colors[$f3]; ?>;">

关于php - 如何根据单元格值更改 php 中的单元格表颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739322/

相关文章:

javascript - 使用 PHP 数组和 Mysql 数据库中的数据在谷歌地图上进行多个标记

css - 带有关联标签控件的样式单选按钮

html - 当前菜单页面元素背景未更改 - CSS

HTML 5 全屏站点在内部链接上退出全屏模式

html - CSS:两个 Logo 左右对齐,应通过窗口调整大小自动缩放

javascript - HTML 数据效果到 jQuery

javascript - 在同一 UL 中左右浮动

php - 搜索结果中的粗体搜索词

php - Laravel 中的 required_if 验证

php - 组织多维数组的库存