html — PHP — создайте градиент, затем выберите цвет в зависимости от & quot; ранга & quot; значение из базы данных

У меня есть таблица пользователей и таблица пользовательских данных. Оба связаны с первичным ключом, я выбираю «ранг» из userdata и назначаю его пользователю.
Итак, я хочу напечатать около 100 пользователей на одной странице, и их имена должны быть раскрашены в зависимости от их ранга. Рейтинг варьируется от -int max до int max, но цвета будут меняться только от -7000 до 7000.

Я хотел, чтобы градиент был красно-черным (посередине) -зеленым.
Пример того, как это должно работать:
-Получить рейтинг пользователя из базы данных (уже получил это)

-Генерировать градиент в памяти или что-то вроде этого
-Выберите значение, например, если пользователь имеет ранг 3500, выберите позицию на уровне 75% от градиента, считая слева (середина — черная)
-Красить диапазон перед ссылкой, используя цвет, полученный перед, как шестнадцатеричное значение

Любые идеи, как я могу сделать это достаточно быстро, чтобы код PHP не слишком много вычислять?

-1

Решение

Я бы поступил так:

  • Рассчитать процентную оценку пользователя, если оценка между -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);');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]