Php 基于MySQL数据/温度和湿度的文本颜色/
家庭气象站,我想根据数值更改文本颜色。 链接到另一个类似问题: 目前,python脚本从DHT22传感器获取数据并将其保存到MySQL数据库中,然后只需将最后一个id提取到PHP中即可 我的目标是用一组单独的颜色来改变每个结果,例如Php 基于MySQL数据/温度和湿度的文本颜色/,php,text,colors,Php,Text,Colors,家庭气象站,我想根据数值更改文本颜色。 链接到另一个类似问题: 目前,python脚本从DHT22传感器获取数据并将其保存到MySQL数据库中,然后只需将最后一个id提取到PHP中即可 我的目标是用一组单独的颜色来改变每个结果,例如 Temperature - 0-15 - blue 15.1 - 25 - green 25.1 - 30 - red Humidity - 0%-20% - red 20.1-50
Temperature - 0-15 - blue
15.1 - 25 - green
25.1 - 30 - red
Humidity - 0%-20% - red
20.1-50 - yellow
50.1-99 - blue
99-100 - red
我试图理解并在现有代码中实现的代码:
function getProperColor($number)
{
if ($var > 0 && $var <= 5)
return '#00FF00';
else if ($var >= 6 && $var <= 10)
return = '#FF8000';
else if ($var >= 11)
return = '#FF0000';
<div style="background-color: <?=getProperColor($result['number'])?>;"><?=$result["title"]?></div>
谢谢根据评论:
return = '#FF8000';
应该是:
return '#FF8000';
您也可以通过CASE直接在查询中实现这一点
SELECT *,
CASE
WHEN temperature < 15 THEN '#FF8000'
WHEN temperature BETWEEN 15 AND 25 THEN '#00FF00'
WHEN temperature > 25 THEN '#FF0000'
ELSE '#CCC'
END AS temperature_color,
CASE
WHEN humidity < 20 THEN '#FF0000'
WHEN humidity BETWEEN 20 AND 50 THEN '#00FFFF'
WHEN humidity BETWEEN 50 AND 99 THEN '#0000FF'
WHEN humidity > 99 THEN '#FF0000'
ELSE '#CCC'
END AS humidity_color
FROM `weather`
ORDER BY id DESC
limit 1
=是赋值运算符。你能给报税表分配一些东西吗?这能回答你的问题吗?我喜欢这个想法,用例看起来容易多了。对于您的代码,Im当前有一个错误:警告:mysqli_num_rows期望参数1是mysqli_result,第40行的\include\wth_inc.php中给出的bool是:$num=mysqli_num_rows$result;你能发布这个查询吗,好像有错误。另外,我刚才看到我在删除之前有一个额外的逗号,它可能会起作用。
return = '#FF8000';
return '#FF8000';
SELECT *,
CASE
WHEN temperature < 15 THEN '#FF8000'
WHEN temperature BETWEEN 15 AND 25 THEN '#00FF00'
WHEN temperature > 25 THEN '#FF0000'
ELSE '#CCC'
END AS temperature_color,
CASE
WHEN humidity < 20 THEN '#FF0000'
WHEN humidity BETWEEN 20 AND 50 THEN '#00FFFF'
WHEN humidity BETWEEN 50 AND 99 THEN '#0000FF'
WHEN humidity > 99 THEN '#FF0000'
ELSE '#CCC'
END AS humidity_color
FROM `weather`
ORDER BY id DESC
limit 1