par
FredD » 22 nov. 2023, 23:20
Bonjour,
Avec ton aide j'ai bien avancé j'ai fait des moyennes min et max sur des Températures et ça fonctionne
Par contre mon pb vient calcul min max du % d'humidité :
Le calcul moyenne du %Hum fonctionne correctement par contre dés que j'essaye le calcul du min ou max j'ai le message d'erreur suivant :
Fatal error: Uncaught TypeError: round(): Argument #1 ($num) must be of type int|float, string given in /storage/ssd4/987/21478987/public_html/esp-weather-station.php:174 Stack trace: #0 /storage/ssd4/987/21478987/public_html/esp-weather-station.php(174): round() #1 {main} thrown in /storage/ssd4/987/21478987/public_html/esp-weather-station.php on line 174
Code : Tout sélectionner
$max_humiX = maxReadingX($nber_days_avg, 'value2');
$avg_humiX = avgReadingX($nber_days_avg, 'value2');
Ligne 174 :
Code : Tout sélectionner
<td><?php echo round($max_humiX['max_amount'], 0); ?> %</td>
<td><?php echo round($avg_humiX['avg_amount'], 0); ?> %</td>
Code : Tout sélectionner
function avgReadingX($nbdays, $value) {
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT AVG(" . $value . ") AS avg_amount FROM SensorData WHERE reading_time >= NOW() - INTERVAL ". $nbdays ." DAY";
if ($result = $conn->query($sql)) {
return $result->fetch_assoc();
}
else {
return false;
}
$conn->close();
}
function maxReadingX($nbdays, $value) {
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT MAX(" . $value . ") AS max_amount FROM SensorData WHERE reading_time >= NOW() - INTERVAL ". $nbdays ." DAY";
if ($result = $conn->query($sql)) {
return $result->fetch_assoc();
}
else {
return false;
}
$conn->close();
}
Je peux déposer tout le code mais ça peut être fastidieux si tu me donnes des pistes je vais essayer de chercher par moi-même
Bonjour,
Avec ton aide j'ai bien avancé j'ai fait des moyennes min et max sur des Températures et ça fonctionne
Par contre mon pb vient calcul min max du % d'humidité :
Le calcul moyenne du %Hum fonctionne correctement par contre dés que j'essaye le calcul du min ou max j'ai le message d'erreur suivant :
[quote]Fatal error: Uncaught TypeError: round(): Argument #1 ($num) must be of type int|float, string given in /storage/ssd4/987/21478987/public_html/esp-weather-station.php:174 Stack trace: #0 /storage/ssd4/987/21478987/public_html/esp-weather-station.php(174): round() #1 {main} thrown in /storage/ssd4/987/21478987/public_html/esp-weather-station.php on line 174[/quote]
[code] $max_humiX = maxReadingX($nber_days_avg, 'value2');
$avg_humiX = avgReadingX($nber_days_avg, 'value2');
[/code]
Ligne 174 :
[code]<td><?php echo round($max_humiX['max_amount'], 0); ?> %</td>
<td><?php echo round($avg_humiX['avg_amount'], 0); ?> %</td>[/code]
[code] function avgReadingX($nbdays, $value) {
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT AVG(" . $value . ") AS avg_amount FROM SensorData WHERE reading_time >= NOW() - INTERVAL ". $nbdays ." DAY";
if ($result = $conn->query($sql)) {
return $result->fetch_assoc();
}
else {
return false;
}
$conn->close();
}
function maxReadingX($nbdays, $value) {
global $servername, $username, $password, $dbname;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT MAX(" . $value . ") AS max_amount FROM SensorData WHERE reading_time >= NOW() - INTERVAL ". $nbdays ." DAY";
if ($result = $conn->query($sql)) {
return $result->fetch_assoc();
}
else {
return false;
}
$conn->close();
}
[/code]
Je peux déposer tout le code mais ça peut être fastidieux si tu me donnes des pistes je vais essayer de chercher par moi-même