根据php数组值改变td的背景颜色

时间:2017-08-20 13:46:07

标签: javascript php jquery html css

使用下面的代码我试图改变td元素的背景颜色。我认为代码需要更正,请帮忙。它没有应用颜色。或任何其他更好的解决方案。

PHP代码:

$color = "#000000";
if (($change[array_keys($change)[0]] < 0))
$color = "#E54028";
    else if (($change[array_keys($change)[0]] >= 1) && ($change[array_keys($change)[0]] <= 19))
       $color = "#F18D05";
    else if ($change[array_keys($change)[0]] >= 20)
       $color = "#61AE24";

Td元素:

<td <?php echo "style=background: $color";?>><?php echo $change[array_keys($change)[0]];?>%</td>

Table after WangJie code

2 个答案:

答案 0 :(得分:1)

嗯,你试过这个吗? https://www.w3schools.com/cssref/pr_background-color.asp

<?php echo "style='background-color:{$color};' "; ?>

答案 1 :(得分:1)

td中的table代码是? td代码必须是表格单元格,html代码的属性必须由"'引用。以下代码对我来说很好。

<?php
$change['a'] = 10;
$color = "#000000";
if ($change[array_keys($change)[0]] < 0)
$color = "#E54028";
else if (($change[array_keys($change)[0]] >= 1) && ($change[array_keys($change)[0]] <= 19))
$color = "#F18D05";
else if ($change[array_keys($change)[0]] >= 20)
$color = "#61AE24";
?>

<table>
 <td <?php echo "style=\"background: $color\"";?>><?php echo $change[array_keys($change)[0]];?>%</td>
</table>

当你面对重复的元素时,你应该使用foreach循环。在这种情况下很容易,只需在这些代码之外添加foreach

<?php
foreach ($change as $item) {
  $color = "#000000";
  if ($item < 0)
  $color = "#E54028";
  else if (($item >= 1) && ($item <= 19))
  $color = "#F18D05";
  else if ($item >= 20)
  $color = "#61AE24";?>
  <td <?php echo "style=\"background: $color\"";?>><?php echo $item;?>%</td>
<?php } ?>

通常一个表由二维数组组成,因此循环两次可以做到,但如果表单中的情况更复杂,则不能这样做。您可以创建一个功能,并在需要时调用它们,只需要满足您的需求即可。因为我不知道你的具体需求,所以我只能给你这个简单的建议。