IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Variable PHP d'après le résultat d'une requête SQL


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Curieux

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Par défaut Variable PHP d'après le résultat d'une requête SQL
    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) ;
     
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quelle est la question ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Curieux

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Par défaut
    Le problème était de définir une variable numérique selon le résultat d’une requête sql qui renvoyé un tableau (brut).

    Un pote a fini par trouver la solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $QuerySelect = "SELECT MAX(T1_BASE) FROM teleinfov3";
     
    $Requete01 = mysqli_query($link, $QuerySelect) or die ("<b>Erreur</b> dans la requète <b>" . $QuerySelect . "</b> : "  . mysqli_error($link));
     
    $ValeurRetour = mysqli_fetch_array($Requete01);
     
    $INDEX_ELEC_PREC = $ValeurRetour[0];
     
    $CONSO_ELEC = (float)$T1_BASE - (float)$INDEX_ELEC_PREC;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/02/2008, 12h45
  2. Récuperer le résultat d'une requête SQL dans une variable
    Par DashRendar dans le forum Accès aux données
    Réponses: 3
    Dernier message: 24/01/2008, 11h04
  3. [SQL] PHP objet récupérer les résultats d'une requête
    Par kstou2001 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/01/2008, 23h34
  4. [SQL] Comparer résultat d'une requête Sql avec php
    Par nicoxweb dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/09/2007, 22h46
  5. Réponses: 15
    Dernier message: 11/05/2007, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo