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
Partager