根据php echo值更改td bg颜色

时间:2017-08-19 16:45:34

标签: php html css

我在td元素中使用php echo打印了具有%更改值的表行。我想根据php echo值更改背景颜色。即如果值> = 20% - >红色,值0-19% - >黄色和值< = 0% - >绿色。

如果包含值(不含%),则为td元素着色的代码:

<td <?php if($array_select[array_keys($array_select)[0]] >= 2): ?> 
style="background-color:#F78181; text-align: center;" 
<?php endif; ?> 
style=" background:#dcddc0 url('cell-grey.jpg');
border-color: #999999;"><?php echo $array_select[array_keys($array_select)[0]];?></td>

在这里不工作:

<td style=" background:#dcddc0 url('cell-grey.jpg');
<?php if($change[array_keys($change)[0]] >= 20): ?> 
style="background-color:#F78181; text-align: center;" 
<?php endif; ?> 
border-color: #999999;"><?php echo "${change[array_keys($change)[0]]}%";?></td> 

使用给出错误的答案更新了代码:

$value2 = $change[array_keys($change)[2]];
if($value2 >= 20){
    $Style2 = 'style="background-color:#FF0000; text-align:center;border-width: 2px;padding: 8px; text-align: center;border-style: solid; border-color: #999999"';
}elseif($value2 > 0 && $value2 < 20){
    $Style2 = 'style="background-color:#FFFF00; text-align:center;border-width: 2px;padding: 8px; text-align: center;border-style: solid; border-color: #999999"';
}elseif($value2 <= 0){
    $Style2 = 'style="background-color:#009933; text-align:center;border-width: 2px;padding: 8px; text-align: center;border-style: solid; border-color: #999999"';
}

<td <?php echo $style2;?>><?php echo $change[array_keys($change)[2]];?>%</td>

Table

2 个答案:

答案 0 :(得分:2)

<?php
$value = $array_select[array_keys($array_select)[0]];
if($value >= 20){
    $style = 'style="background-color:#FF0000; text-align: center;border-color: #999999"';
}elseif($value > 0 && $value < 20){
    $style = 'style="background-color:#FFFF00; text-align: center;border-color: #999999"';
}elseif($value <= 0){
    $style = 'style="background-color:#009933; text-align: center;border-color: #999999"';
}
?>
<td <?php echo $style;?>><?php echo $array_select[array_keys($array_select)[0]];?>%</td>

首先在变量中保存你的值并在申请之前检查/比较值,并根据条件在php变量中创建样式代码。现在在最终的html代码中应用这两个变量。

答案 1 :(得分:1)

从你给我们的信息中,我认为这应该有效:

<td style=" background:#dcddc0 url('cell-grey.jpg');
  <?php if($change[array_keys($change)[0]] >= 20): ?> 
    background-color:#F78181; text-align: center; 
  <?php endif; ?> 
  border-color: #999999;">
      <?php echo "${change[array_keys($change)[0]]}%";?>
</td>