Bonjour,

Après pas mal de lecture et différent essais, je me décide à vous demander de l'aide. Je suis nouveau sur le forum, niveau moyen en HTML/CSS mais débutant en PHP/SQL.

J'ai récupéré un script PHP que je fais tourner par tache planifié sur mon NAS synology. Celui récupère les index de mes compteurs toutes les 5min sur un ecodevice grâce au JSON.

En plus du code actuel, j'aimerais calculer le delta entre l'index à l'instant T et celui du dernier enregistrement.

La partie qui me pose problème est la récupération des derniers index dans la base. La requete ci-dessous me renvoie la bonne valeur dans MariaDB
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT MAX(`T1_BASE`) FROM `teleinfov3`

Voila ou j'en suis :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
  // Connexion MySql et requète.
	include_once("settings.php");
 
	$link = mysqli_connect($serveur, $login, $pass) or die("Erreur de connexion au serveur MySql");
	mysqli_select_db($link, $base) or die("Erreur de connexion a la base de donnees $base");
 
	// connexion à l'api json du module Eco-Device
	$url = $ecodevice_url."/api/xdevices.json?cmd=10";
 
 
	if ($password != "") {
	$context = stream_context_create(array(
        'http' => array(
            'header'  => "Authorization: Basic " . base64_encode("$username:$password")
        )));
    $data = file_get_contents($url, false, $context);
    } else {
    $data = file_get_contents($url, false);    
	}
 
    $timestp = time() ;
    $rec_date = date('Ymd');
    $rec_time = date('His');
	echo $format;
 
 
    if(!function_exists('json_decode')) die('votre serveur ne supporte pas le json !');
    $feed = json_decode($data);
    $T1_PAPP=$feed->{'T1_PAPP'};
	$T1_BASE=$feed->{'T1_BASE'};
	$INDEX_C1=$feed->{'INDEX_C1'};
    $INDEX_C2=$feed->{'INDEX_C2'}; 
 
 
	// récupération des index du dernier enregistrement
	$INDEX_ELEC_PREC = mysqli_query($link, "SELECT MAX(`T1_BASE`) FROM `teleinfov3`");
	$INDEX_EAU_PREC = mysqli_query($link, "SELECT MAX(`INDEX_C1`) FROM `teleinfov3`");
	$INDEX_GAZ_PREC = mysqli_query($link, "SELECT MAX(`INDEX_C2`) FROM `teleinfov3`");
 
 
        // Calcul de la conso entre les derniers index et les index à l'instant T
        $CONSO_ELEC = $T1_BASE - $INDEX_ELEC_PREC;
	$CONSO_EAU = $INDEX_C1 - $INDEX_EAU_PREC;
	$CONSO_GAZ = $INDEX_C2 - $INDEX_GAZ_PREC;
 
 
    $sqlclause = "timestp=$timestp, rec_date=$rec_date, rec_time=$rec_time, 
    T1_PAPP=$T1_PAPP, T1_BASE=$T1_BASE, INDEX_C1=$INDEX_C1, INDEX_C2=$INDEX_C2,
    CONSO_ELEC=$CONSO_ELEC, CONSO_EAU=$CONSO_EAU, CONSO_GAZ=$CONSO_GAZ";
    echo($sqlclause); 
 
	$query = "INSERT INTO ".$table." SET ".$sqlclause;
	$result=mysqli_query($link, $query) or die ("<b>Erreur</b> dans la requète <b>" . $query . "</b> : "  . mysqli_error());
	mysqli_close($link) ;
 
 
?>