[英]Get the minimum and maximum number in PHP from DB
我正在制作一个 PHP 代码来显示我的气象站的数据。
我在 MySQL 中有一个 5 列的数据库。
这是我的实际代码:
<?php
$conexion=mysqli_connect('localhost','dbone','root','dbdata');
?>
<?php
$sql="SELECT * from Sensor ORDER BY id DESC LIMIT 1";
$result=mysqli_query($conexion,$sql);
date_default_timezone_set("Europe/Warsaw");
$calpres=57;
$caltemp=0;
$calhumi=0;
while($mostrar=mysqli_fetch_array($result)){
?>
<?php
?>
|esta=c00m000e00|data=<?php echo date("d-m-Y H:i:s"); ?>|temp=<?php echo $mostrar['value1'] - $caltemp ?>|hum=<?php echo $mostrar['value2'] ?>|pres=<?php echo $mostrar['value3'] + $calpres ?>
<?php
}
?>
实际结果是:
|esta=c00m000e00|data=24-01-2021 19:42:10|temp=10.71|hum=58.20|pres=1016.12
Value1 是包含温度的列。 我想显示最高和最低温度,但我不知道该怎么做。
非常感谢!
您可以使用 SQL MAX() 和 MIN() 函数。
SELECT MAX(value1) FROM Sensor
类的东西
像这样运行 2 个查询(一个用于最小值,一个用于最大值):
(如果您的列名是 temp)
SELECT * from Sensor ORDER BY temp DESC LIMIT 1
SELECT * from Sensor ORDER BY temp ASC LIMIT 1
并从中获取第一行也是唯一的行。
更简洁的方法是获取您需要的所有数据,按 temp 排序,(最后没有 LIMIT)
SELECT * from Sensor ORDER BY temp DESC
在数组中获取它,并获取第一个 tempArray[0] 和最后一个 tempArray[count(tempArray)-1] - 值,它们将包含最小和最大行。
$result = mysql_query("SELECT * from Sensor ORDER BY temp DESC");
$sensorArray = []
while( $row = mysql_fetch_assoc( $result)){
$sensorArray[] = $row;
}
$max = $sensorArray[0];
$min = $sensorArray[count($sensorArray)-1];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.