PHP-生成渐变,然后根据“颜色”选择颜色;排名;来自数据库的值

PHP-生成渐变,然后根据“颜色”选择颜色;排名;来自数据库的值,php,html,algorithm,gradient,Php,Html,Algorithm,Gradient,我有一个用户表和一个用户数据表。两者都与主键相连,我从userdata中选择“rank”并将其分配给用户。 所以,我想在一个页面上打印大约100个用户,并且需要根据他们的排名对他们的昵称进行着色。等级从-int max到int max不等,但颜色的变化范围仅为-7000到7000。 我希望渐变为红黑(中间)-绿色。 它应该如何工作的示例: -从数据库中获取用户排名(已获取) -在内存中生成渐变或类似的内容 -选择一个值,例如,如果用户的等级为3500,则选择梯度75%处的位置,从左侧开始计数(


我有一个用户表和一个用户数据表。两者都与主键相连,我从userdata中选择“rank”并将其分配给用户。
所以,我想在一个页面上打印大约100个用户,并且需要根据他们的排名对他们的昵称进行着色。等级从-int max到int max不等,但颜色的变化范围仅为-7000到7000。
我希望渐变为红黑(中间)-绿色。 它应该如何工作的示例:
-从数据库中获取用户排名(已获取)
-在内存中生成渐变或类似的内容
-选择一个值,例如,如果用户的等级为3500,则选择梯度75%处的位置,从左侧开始计数(中间为黑色) -使用之前获得的颜色作为十六进制值为链接之前的跨距着色


有什么想法可以让我的速度足够快,这样php代码就不会计算太多吗?

我会这样继续:

  • 如果分数介于-7000和+7000之间,则计算用户百分比分数。
    $userPercentage=$userScore/7000
    (如果分数不在两者之间,则设置为-7000,如果分数小于或大于,则设置为+7000)

  • 为每个用户名指定一个
    style=“color:rgb(x,y,0);”
    属性

使用此代码:

if($userScore < 0){
    percentage *= -1;
    echo('color: rgb('.255*$percentage.', 0, 0);');
} else {
    echo('color: rgb(0, '.255*(1-$percentage).', 0);');
}
if($userScore<0){
百分比*=-1;
echo('颜色:rgb('.255*$percentage',0,0);');
}否则{
回声('颜色:rgb(0,'.255*(1-$百分比)。',0);');
}

听起来你在问如何优化尚不存在的代码。