PHP цветовое кодирование в зависимости от цвета - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь выучить PHP, создавая локальную панель мониторинга для вспышек Коронавируса, я, на мой взгляд, неплохо справляюсь, но на этом застрял.

Я пытаюсь получить данные из своей базы данных и Цветовой код это в зависимости от результата.

Я могу нормально отобразить его в нужном мне формате, используя следующий код, но очень запутался в способе отображения его в цветах

числа, с которыми я работаю, начинаются с 0,00000000, что будет зеленым до 0,00104348, который будет красным.

Любая помощь будет принята с благодарностью

$sql = "SELECT FORMAT(conf / pop, 8) as pop_inf from cases ORDER BY id DESC LIMIT 1;";
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);

if ($resultCheck > 0) {
    while ($row = mysqli_fetch_assoc($result)){
        echo $row['pop_inf'] . "%";
    }
}

1 Ответ

0 голосов
/ 21 марта 2020

Если вы хотите создать градиентную шкалу красного цвета для каждого значения на основе его диапазона, тогда самое простое решение - сопоставить диапазон с цветовым кодом.

Например,

const MAX = 0.00104348;
// this gives you the percentage of red (from 0.00 to 1.0) based on the MAX value
$color = $row['pop_inf'] / MAX; 
// now we translate that to an 8-bit hexadecimal value
$color = (int) (256 * $color) - 1;
// pad it to a 2 digit hex string
$color = sprintf("%02x", base_convert($color, 10, 16));
// Now you can print a full hex value color as 0x000000 - 0xff0000
$color = "$color0000";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...