Bonjour,
le serveur : Version du serveur : 10.5.19-MariaDB-0+deb11u2 - Debian 11 et Version du client de base de donn�es : libmysql - mysqlnd 7.4.33
Extension PHP : mysqli Documentation curl Documentation mbstring Documentation
Version de PHP : 7.4.33
Soit une table (meteo)qui contient temp�rature pression humidit�, aliment�e automatiquement par un script php qui re�oit les donn�es du capteur. (avec id auto incr�ment�e et date d'insert (datetime))
une 2eme table (meteo_calc) doit recevoir les calculs moy min et max de ces 3 donn�es
j'ai choisi comme crit�re pour faire les calculs : je prend l'id de la derni�re insertion et je compare la date avec la date de la pr�c�dente id
si idem, je ne fait rien, sinon c'est que j'ai chang� de jour, et je calcule les donn�es de la veille.
Mon code ne fonctionne pas (pour les test j'insere des donn�es fictives pour meteo_calc)
je pense que l'erreur vient que j'ai une erreur pour l'affectation de $avant_derniere_date et $derniere_date et donc que ces 2 valeurs sont toujours les m�mes donc pas d'insertion
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 $connection = new mysqli($servername, $username, $password, $database_name); if ($connection->connect_error) { die("MySQL connection failed: " . $connection->connect_error); } $sql = "INSERT INTO meteo (temperature,pression,humidite) VALUES ($temperature,$pression,$humidite)"; if ($connection->query($sql) == TRUE) { $id_dernier_insert = $connection->insert_id; $avant_derniere_date = $connection->query("SELECT date(datetime) FROM meteo WHERE ID = ({$id_dernier_insert}-1) "); $derniere_date = $connection->query("SELECT date(datetime) FROM meteo WHERE ID = {$id_dernier_insert}"); $sql_calc = "INSERT INTO meteo_calc (min_temp, max_temp, moy_temp, min_pres, max_pres, moy_pres, min_hum, max_hum, moy_hum, jour) VALUES (12.00, 28.00, 16.00, 1001.00, 1022.00, 1015.20, 52.00, 88.00, 67.00, '2023-07-15')"; if (strtotime($avant_derniere_date) == strtotime($derniere_date)) {} else { $connection->query($sql_calc); } } else { echo "Error: " . $sql . " => " . $connection->error; } $connection->close(); } else { echo "temperature is not set in the HTTP request"; }
Merci de votre aide
Partager