[英]Changing background color of td based on php array value
With below code I am trying to change background color of td element. 使用下面的代码,我试图更改td元素的背景颜色。 I think code needs correction, any help please.
我认为代码需要更正,请提供任何帮助。 It's not applying color.
它没有应用颜色。 or any other better solution.
或其他更好的解决方案。
PHP code: 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 element: Td元素:
<td <?php echo "style=background: $color";?>><?php echo $change[array_keys($change)[0]];?>%</td>
hm, did you tried this? 嗯,你尝试过这个吗? https://www.w3schools.com/cssref/pr_background-color.asp
https://www.w3schools.com/cssref/pr_background-color.asp
<?php echo "style='background-color:{$color};' "; ?>
Are your td
tags in the table
? 您的
td
标签在table
吗? The td
tag must be the table cell and attribute of html tag must be quoted by "
or '
. following code is work fine on me. 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>
When you face repetitive elements you should use foreach
loop. 当您遇到重复元素时,应使用
foreach
循环。 It is easy in this situation, you just add foreach
outside those code like this: 在这种情况下很容易,您只需在这些代码之外添加
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 } ?>
Normally a table is composed of two-dimensional array so loop twice can do it, but if the situation in your form is more complicated you can not do that. 通常,一个表是由二维数组组成的,因此两次循环可以做到这一点,但是如果表单中的情况更加复杂,则不能这样做。 You can create a function and call them when needed if you just want to simply achieve your need.
如果您只是想简单地实现自己的需要,则可以创建一个函数并在需要时调用它们。 Because I do not know your specific needs so I can only give you this simple suggestion.
因为我不知道您的具体需求,所以我只能给您这个简单的建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.