我目前正在制作一个页面,使用php将mysql数据库中的数据输出到页面上,如下所示:
echo "<tr>";
echo "<td><span style='font-weight:bold; font-size:18px'>Physical</span></td><td><span style='font-size:18px;'>" . $row['attributePhy'] . "</span></td>";
echo "<tr>";
echo "<td><span style='font-weight:bold; font-size:14px;'>Jumping </span></td><td><span style='font-size:14px;'>" . $row['jumping'] . "</span></td>";
echo "<tr>";
echo "<td><span style='font-weight:bold; font-size:14px;'>Stamina </span></td><td><span style='font-size:14px;'>" . $row['stamina'] . "</span></span></td>";
echo "<tr>";
echo "<td><span style='font-weight:bold; font-size:14px;'>Strength </span></td><td><span style='font-size:14px;'>" . $row['strength'] . "</span></td>";
echo "<tr>";
echo "<td><span style='font-weight:bold; font-size:14px;'>Aggression </span></td><td><span style='font-size:14px;'>" . $row['aggression'] . "</span></td>";
但是我想要它,所以数字结果的颜色会根据数字的高低而变化。红色为60以下,浅绿色为61至80,深绿色为81 +
有没有办法为整个表格做到这一点?上面的代码只是一个小样本,如果每个代码的语句需要很长时间。
编辑:
我只想改变结果颜色,例如
<span style='font-size:14px;'>" . $row['aggression'] . "</span>
<span style='font-size:14px;'>" . $row['strength'] . "</span>
这将返回数据库的数字,这是需要更改颜色的位。 等
答案 0 :(得分:0)
尝试此功能:
function changecolor($val) {
if ($val <= 60) {
echo "<font color='red'>$val</font>";
}
elseif ($val >60 AND $val <80) {
echo "<font color='lightgreen'>$val</font>";
}
else
{
echo "<font color='darkgreen'>$val</font>";
}
}
然后:
<span style='font-size:14px;'>" . changecolor($row['aggression']) . "</span>
<span style='font-size:14px;'>" . changecolor($row['strength']) . "</span>
答案 1 :(得分:0)
您可以将值传递给此实用程序函数:
您可以这样:getColor($row['aggression'])
或getColor($row['strength'])
function getColor($value)
{
$possibilities = [
'red' => 0,
'light green' => 60,
'dark green' => 80
]; // Add all your possibilities with the lower end match here like 0, 60, 80...
return array_search(max(array_intersect($possibilities, range(0, $value))), $possibilities);
}
echo getColor(11); // red
echo getColor(61); // light green
echo getColor(81); // dark green
echo getColor(801); // dark green
echo getColor(80); // dark green
像这样使用:
echo "<td><span style='font-weight:bold; font-size:14px;background-color:" . getColor($row['aggression']) . ";'>Aggression </span></td><td><span style='font - size:14px;'>" . $row['aggression'] . "</span></td>";
说明:
range
将创建一系列可能性array_intersect
返回可能性数组中的匹配项max
返回最大值array_search
获取匹配的密钥答案 2 :(得分:0)
只需要一个条件语句: 在这个例子中,我将使用三元运算符:
function getColor($value){
return ($value <= 60 ?
'color: red;'
:
($value > 60 && $value < 81 ?
'color: lightgreen;'
:
($value >= 81 ?
'color: darkgreen'
:
''
)
)
);
}
您可以按照以下方式使用它:
echo "<td><span style='font-size:18px;". getColor($row['attributePhy'])."'>" . $row['attributePhy'] . "</span></td>";