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