繁体   English   中英

从 DB 中获取 PHP 中的最小和最大数量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM