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

PHP & Base de données Discussion :

Difference entre valeurs pour dates consecutives


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut Difference entre valeurs pour dates consecutives
    Bonjour,
    Je suis débutant en BDD mysql mais souhaiterais avoir un peu d'aide pour une requete simple.
    J'ai la base de donnée suivante:
    http://imageshack.us/a/img24/8821/basedd.png

    Ce que je souhaite avoir c'est une colonne (par ex nommé diff) avec la difference entre les valeurs de la colonne "value" pour la derniere date/time et celle juste avant.
    Exemple :

    2013-1-27 16:01:01 50393 152
    2013-1-27 17:01:01 50542 149

    J'ai le script actuel pour remplir la base en temps réel:


    //
    $ipx800v3='tablegaz'; //Table
    //
    //Lecture du fichier XML
    $xml = read_xml("http://$usernameIPX:$passwordIPX@192.168.123.130/status.xml","response",array("day","time0","count0"));
    foreach($xml as $row)
    {
    $day=$row[0];
    $time0=$row[1];
    //changement en heure locale:
    $time0=date('H:i:s',gmmktime($time0));
    $count0=$row[2];
    }
    $date=date("Y-m-d");
    //
    mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur $host");
    mysql_select_db($db) or die("erreur de connexion à la base de données");
    //
    //Transfert des données de l'IPX800 V3 dans la BDD
    //------------------------------------------------
    $last_date=explode('-',$date);
    $last_time=explode(':',$time0);
    $dateXML=mktime($last_time[0],$last_time[1],0,$last_date[1],$last_date[2],$last_date[0]);
    //Date du dernier enregistrement sur les entrées compteurs dans la BDD
    $request="SELECT id,date,time FROM $ipx800v3 ORDER BY id DESC LIMIT 1";
    $mysql_query=mysql_query($request) or die ('Erreur SQL ! '.$request.'<br/>'.mysql_error());
    $last_record=mysql_fetch_array($mysql_query);
    $dateDB=explode('-',$last_record[1]);
    $timeDB=explode(':',$last_record[2]);
    $update=1; //Mise à jour de la base toutes les 1 minutes
    $date_recordDB=mktime($timeDB[0],$timeDB[1]+$update,0,$dateDB[1],$dateDB[2],$dateDB[0]);
    if ($dateXML>$date_recordDB)
    {
    //Ecriture dans la BDD
    $request="INSERT INTO $ipx800v3 VALUE('','$date','$time0','$count0')";
    mysql_query($request) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    }
    mysql_close();

    Question :
    Je souaiterais ajouter la colonne "diff" et la remplir en temps grace au script modifié .
    Merci de votre aide pour modifier ce script/requete

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Citation Envoyé par johndoe2011 Voir le message
    Bonjour,
    Je suis débutant en BDD mysql mais souhaiterais avoir un peu d'aide pour une requete simple.
    J'ai la base de donnée suivante:
    http://imageshack.us/a/img24/8821/basedd.png

    Ce que je souhaite avoir c'est une colonne (par ex nommé diff) avec la difference entre les valeurs de la colonne "value" pour la derniere date/time et celle juste avant.
    Exemple :

    2013-1-27 16:01:01 50393 152
    2013-1-27 17:01:01 50542 149

    J'ai le script actuel pour remplir la base en temps réel:


    //
    $ipx800v3='tablegaz'; //Table
    //
    //Lecture du fichier XML
    $xml = read_xml("http://$usernameIPX:$passwordIPX@192.168.123.130/status.xml","response",array("day","time0","count0"));
    foreach($xml as $row)
    {
    $day=$row[0];
    $time0=$row[1];
    //changement en heure locale:
    $time0=date('H:i:s',gmmktime($time0));
    $count0=$row[2];
    }
    $date=date("Y-m-d");
    //
    mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur $host");
    mysql_select_db($db) or die("erreur de connexion à la base de données");
    //
    //Transfert des données de l'IPX800 V3 dans la BDD
    //------------------------------------------------
    $last_date=explode('-',$date);
    $last_time=explode(':',$time0);
    $dateXML=mktime($last_time[0],$last_time[1],0,$last_date[1],$last_date[2],$last_date[0]);
    //Date du dernier enregistrement sur les entrées compteurs dans la BDD
    $request="SELECT id,date,time FROM $ipx800v3 ORDER BY id DESC LIMIT 1";
    $mysql_query=mysql_query($request) or die ('Erreur SQL ! '.$request.'<br/>'.mysql_error());
    $last_record=mysql_fetch_array($mysql_query);
    $dateDB=explode('-',$last_record[1]);
    $timeDB=explode(':',$last_record[2]);
    $update=1; //Mise à jour de la base toutes les 1 minutes
    $date_recordDB=mktime($timeDB[0],$timeDB[1]+$update,0,$dateDB[1],$dateDB[2],$dateDB[0]);
    if ($dateXML>$date_recordDB)
    {
    //Ecriture dans la BDD
    $request="INSERT INTO $ipx800v3 VALUE('','$date','$time0','$count0')";
    mysql_query($request) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    }
    mysql_close();

    Question :
    Je souaiterais ajouter la colonne "diff" et la remplir en temps grace au script modifié .
    Merci de votre aide pour modifier ce script/requete
    Bonjour,

    Quelqu'un pourrait il m'aider en indiquant les lignes de script a ajouter ?
    L'objectif est de pouvoir faire un graphe correspondant a la consommation (relevé) entre 2 dates / moments consecutif
    Merci d'avance

Discussions similaires

  1. Difference entre deux dates pour une alertes
    Par litlepom dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/05/2010, 17h59
  2. Réponses: 1
    Dernier message: 03/09/2009, 19h48
  3. difference entre java.sql.Date et java.util.Date
    Par ErEcTuS dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 06/05/2009, 09h48
  4. Valeur calculée difference entre deux dates #NOMBRE!
    Par gracouille dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/06/2008, 11h59
  5. Réponses: 9
    Dernier message: 10/08/2004, 17h13

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