У меня есть таблица пользователей и таблица пользовательских данных. Оба связаны с первичным ключом, я выбираю «ранг» из userdata и назначаю его пользователю.
Итак, я хочу напечатать около 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);');
}
Других решений пока нет …