在php中按条件设置颜色

时间:2013-12-24 17:56:25

标签: php html mysql

如何按条件设置颜色,例如:

在我的表中有一个名为STATUS的列,它从db接收结果。 有三个文本:PG,PEN,ATR。

如果状态为PG,则颜色为绿色,PEN颜色为红色等。

怎么做?

我目前的代码是<th width="4%" scope="col"><?php echo $status;?></th>

4 个答案:

答案 0 :(得分:3)

在HTML显示器上设置一个类,您甚至可以将其设为class="PG",以防您决定稍后更改颜色。然后在css中定义该类的颜色。

使用您提供的示例代码:

<th width="4%" scope="col" class="<?php echo $status;?>"> <?php echo $status;?></th>

CSS文件包括:

.PG {text-color:green;} 
.PEN {text-color:red;} 

注意:不确定颜色是指背景颜色还是文字颜色;要么有效。

答案 1 :(得分:2)

有三种方法可以做到(也可能还有其他一些方法),但这里有三种方法:设置样式的值,重新连接整个文本,或内联php颜色设置......这里有在我看来,从最好到最差的三种方式。

设置样式方法的值     

$style = '';

if ( $status == 'PG' )
    $style = 'style="color: green;"'; // You can replace with class=""
else if ( $status == 'PEN' )
    $style = 'style="color: red;"'; // You can replace with class=""
else if ( $status == 'ART')
    $style = 'style="color: blue;"'; // You can replace with class=""

?>

<th width="4%" scope="col" <?=$style?> ><?=$status?></th>

重写整行方法

<?php

if ( $status == 'PG' )
    echo '<th width="4%" scope="col" style="color: green;">'.$status.'</th>';
else if ( $status == 'PEN' )
    echo '<th width="4%" scope="col" style="color: red;">'.$status.'</th>';
else if ( $status == 'ART' )
    echo '<th width="4%" scope="col" style="color: blue;">'.$status.'</th>';

?>

内联编辑

echo '<th width="4%" scope="col" ';

if ( $status == 'PG' )
    echo 'style="color: green;"';
else if ( $status == 'PEN' )
    echo 'style="color: red;"';
else if ( $status == 'ART' )
    echo 'style="color: blue;"';

echo '>'.$status.'</th>';

答案 2 :(得分:1)

您可以在数组中设置颜色,您可以轻松地分配它们,如下所示。

 $color = array (
        "PG"=>"green", // use color code here
        "PEN"=>"red"
       );

在html中,您可以从数组中调用状态颜色:

<tr style='background-color:<?php echo $color[$row["status"]];?>'>
<td>....</td>

</tr>

答案 3 :(得分:0)

我认为您正在尝试根据$ status设置背景颜色...试试这个。

<?php 
If($status=='pg'){
      $color='red';
 }
elseif($status=='pen')
{
     $color='green';
}
elseif($status=='atr')
{
      $color='yellow';
 }
?>
<th width="4%" scope="col" style="background-color:<?php echo $color;?>">
    <?php echo $status;?>
</th>