Pour être plus clair.
Voici le xml :
http://treyz.myds.me/PAC/infopac.xml
Voici le php qui me permet de copier dans les tables
Code : Tout sélectionner
<?php
//info Bdd
$serveur="localhost";
$login="****";
$pass="*********";
$base="domotique";
// Connexion au fichier XML
$xml = simplexml_load_file('infopac.xml');
// Vérifie que le fichier xml soit bien ouvert
//print_r($xml);
// Extraction de la date et de lheure
$chainedate = $xml->SYSTEM->DATE;
$timestamp = strtotime($chainedate);
echo $timestamp;
// Recherches des variables analog
$T_ext = $xml->PCO->ANALOG->VARIABLE[0]->VALUE;
$T_dep = $xml->PCO->ANALOG->VARIABLE[1]->VALUE;
$T_ret = $xml->PCO->ANALOG->VARIABLE[2]->VALUE;
$T_ret2 = $xml->PCO->ANALOG->VARIABLE[3]->VALUE;
$T_cons = $xml->PCO->ANALOG->VARIABLE[4]->VALUE;
$T_ecs = $xml->PCO->ANALOG->VARIABLE[5]->VALUE;
$T_cecs = $xml->PCO->ANALOG->VARIABLE[6]->VALUE;
$Capt_HP = $xml->PCO->ANALOG->VARIABLE[7]->VALUE;
$Capt_HP = round((($Capt_HP*10-100)*345/8000), 1);
$Capt_BP = $xml->PCO->ANALOG->VARIABLE[8]->VALUE;
$Capt_BP = round((($Capt_BP*10-100)*173/8000), 1);
$Statut = $xml->PCO->ANALOG->VARIABLE[9]->VALUE;
$Statut = $Statut * 10;
$Defaut = $xml->PCO->ANALOG->VARIABLE[10]->VALUE;
$Defaut = $Defaut * 10;
$Blocage = $xml->PCO->ANALOG->VARIABLE[11]->VALUE;
$Blocage = $Blocage * 10;
// Recherches des variables digital
$CP1 = $xml->PCO->DIGITAL->VARIABLE[0]->VALUE;
$VENT = $xml->PCO->DIGITAL->VARIABLE[1]->VALUE;
$App_chau = $xml->PCO->DIGITAL->VARIABLE[2]->VALUE;
$Circ_M13 = $xml->PCO->DIGITAL->VARIABLE[3]->VALUE;
$Circ_M18 = $xml->PCO->DIGITAL->VARIABLE[4]->VALUE;
$Circ_M16 = $xml->PCO->DIGITAL->VARIABLE[5]->VALUE;
$App_ECS = $xml->PCO->DIGITAL->VARIABLE[6]->VALUE;
// Connexion au serveur
mysql_connect($serveur, $login,$pass) or die("erreur de connexion au serveur");
mysql_select_db($base) or die("Erreur de connexion a la base de donnees $base");
//On prépare la commande sql d'insertion
$sql = "INSERT INTO `domotique`.`dimplex`
(`Datetime`, `T_ext`, `T_dep`, `T_ret`, `T_ret2`, `T_cons`, `T_ecs`, `T_cecs`, `Capt_HP`, `Capt_BP`, `Statut`, `Defaut`, `Blocage`, `CP1`, `VENT`, `App_chau`, `Circ_M13`, `Circ_M16`, `Circ_M18`, `APP_ECS`)
VALUES('$chainedate', '$T_ext', '$T_dep', '$T_ret', '$T_ret2', '$T_cons', '$T_ecs', '$T_cecs', '$Capt_HP', '$Capt_BP', '$Statut', '$Defaut', '$Blocage', '$CP1', '$VENT', '$App_chau', '$Circ_M13', '$Circ_M16', '$Circ_M18', '$App_ECS')";
/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
// Deconnexion de la base de donnees
mysql_close();
?>
Ce php est lancé toutes les 5min par un crontab
Et je récupere la base en pièce jointe.
Mtnt j'aimerais exploiter cela, notamment, en créeant des graphiques Highchrts mais je bloque sur le tri pour afficher une journée.
Merci
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.