簡體   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