使用PHP更改结果的颜色

时间:2017-09-07 08:23:31

标签: php html mysql

我目前正在制作一个页面,使用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>

这将返回数据库的数字,这是需要更改颜色的位。 等

3 个答案:

答案 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>";

说明:

  1. range将创建一系列可能性
  2. array_intersect返回可能性数组中的匹配项
  3. max返回最大值
  4. 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>";