Sélection de la date et Heure depuis base SQL en PHP

Un problème, une question sur la partie PHP des graphiques

Modérateurs : jturlier, Météo Villarzel

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 28 mars 2014, 10:12

Bonjour,

Je suis tout nouveau sur le forum et tout d'abord un grand merci à ce site qui me permet depuis quelques semaines de découvrir avec grand bonheur les joies d'avoir une station météo.

J'ai acquis il y a peu une station WMR200 et mon but final est évidemment de partager mes relevés avec tout le monde. Qui plus est, je possède un blog sur Barcelone (lieu de la station) et je souhaite faire une aussi belle présentation que ce que je peux voir ici avec des graphiques dynamiques.

Je me suis donc lancé et déjà merci pour tout le travail effectué en amont avec ces tutoriels. Mais évidemment, je suis une bille en PHP et donc je bloque.

Mon problème est le suivant :

Il est écrit dans la 3e page :
On commence par la date et l'heure, dans la table data on sélectionne le champs tstamp, c'est le temps en format Unix

<?php
// appel du script de connexion
require("mysql_connect.php");
// On récupère le timestamp du dernier enregistrement
$sql="select max(tstamp) from data";
$query=mysql_query($sql);
$list=mysql_fetch_array($query);
?>
Sauf que moi, ma table affiche une colonne pour la date et une autre pour l'heure. Je dois donc adapter le code. Mais je ne sais pas comment faire.

Voici une photo de ma table. Par avance merci
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par PascalWMR » 30 mars 2014, 08:52

Bonjour.

Avec quel logiciel alimentez-vous votre BDD ?
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 31 mars 2014, 22:33

Bonsoir, Je récupère les données avec XNet Meteo.

Merci
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par PascalWMR » 01 avr. 2014, 05:14

Bonjour.

Xnet permet de récupérer les données de votre station.
Mais pour alimenter votre base de données sur le serveur de votre hébergeur, il faut un autre programme. Data2SQL en l'occurence.
Dans la configuration de Data2SQL, il y a un option Xnet. En vous servant de ce programme, vous n'aurez plus de problèmes de date :)

C'est bien expliqué http://www.boock.ch/meteo/tuto_mysql_hi ... rts_01.php
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par Météo Villarzel » 01 avr. 2014, 19:44

Salut,

Petite rectification à ce que dit Pascal, le programme Data2SQL permet effectivement d'alimenter une BD depuis plusieurs types de stations, mais à la base il n'a pas été créé par J. Turlier pour tracer des graphiques avec Highcharts, mais pour sauvegarder les données dans une même structure au changement de type de station.
Ceci étant dit, une fois la BD construite, elle est parfaitement exploitable pour tracer des graphiques avec Highcharts ou une autre bibliothèque qui à besoin d'une BD.
Par contre n'importe quelle BD est exploitable par Highcharts, il faut juste savoir comment reprendre les valeurs qui sont dans les tables.
J'ai fait un tuto avec la manière que j'utilise, mais il y en a plein d'autres.

Donc ta BD créée avec XNet Meteo est très certainement exploitable avec Highcharts, reste à savoir traiter les données en PHP.

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par helmain » 01 avr. 2014, 20:54

Bonsoir Atypik,

Dans ta rubrique Time, l'heure est sous quel format ?
Où est ta rubrique "tstamp" ??????
Donne moi le format de l'heure et je te dirai si on peut tourner la requête sql autrement pour que ca fonctionne.

@+
JM
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 02 avr. 2014, 13:00

Bonjour à tous.

Merci beaucoup pour toutes vos réponses. Je vous avoue que pour moi, utiliser XNet_Meteo ou un autre logiciel pour créer la BD m'importe peu. Tant que c'est simple, cela me va. C'est vrai que XNET_Meteo à l'avantage d'être on ne peut plus simple et donc cela m'étive au maximum de faire des erreurs.

La BD qui est générée est en csv que j'importerai automatiquement dans ma base SQL par un script spécifique. Le problème que j'ai est que mon hébergeur ne permet pas de me connecter à distance donc je dois forcément passer par ce fichier csv que j'importe en FTP sur mon site, puis le script se chargera de l'incorporer à ma base SQL.

Pour ce qui est du timestamp, je ne crois pas qu'il y en ai avec le fichier csv généré par XNET_Meteo. Je vous ai mis en copie dans mon premier message l'apperçu des deux colonnes, la 1 pour la date et la 2 pour l'heure.

Mon but serait donc de faire les graphiques à partir de ces deux colonnes qui ont le format suivant :

la 1 : AAAAMMJJ
La 2 : HHMMSS (sachant que pour 00h30min 0 0 secondes cela va afficher par exemple 3000) Les heures sont vides.

J'espère avoir été clair.

Merci
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par helmain » 02 avr. 2014, 15:19

Salut atypik,

Voici un tout petit script php pour obtenir le timestamp
J'ai pris pour l'exemple la première ligne de la copie de la table dispo dans ton post.
Date 20140322
Time 5800

Voici le petit script à insérer dans une boucle
<?php
$date = "20140322";
$time = "5800";
//mise au format HHMMSS
If (strlen($time) == 2) {
$time = "0000". $time ;
}
If (strlen($time) == 3) {
$time = "000". $time ;
}
If (strlen($time) == 4) {
$time = "00". $time ;
}
If (strlen($time) == 5) {
$time = "0". $time ;
}
$timestamp = $date.$time;
$tstamp = strtotime($timestamp);
//echo $tstamp;
?>

Comme la rubrique Time n'est pas toujours sur 6 positions, il faut combler avec des zéros sur la gauche.
La fonction strlen() sert à compter le nombre de caractères, donc si 2 caractères, j'ajoute 4 zéros à gauche, etc
Ensuite on concatène la date et l'heure pour obtenir le timestamp mysql 20140322005800.
Puis j'utilise la fonction strtotime() qui va convertir ce timestamp mysql en timestamp Unix
Le résultat donne 1395446280
Tu peux le vérifier sur un site comme http://www.timestamp.fr/?

Pour faire plus rapide tu peux faire directement $tstamp=strtotimes($date.$time); :mrgreen:

@+
Jean-Michel
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 02 avr. 2014, 16:22

Salut Helmain,

Tu es un chef. Donc si je comprends bien, ton script devrait être ajouté à celui que je vais utiliser pour importer mon fichier csv à ma base SQL. Je dois donc créer une colonne supplémentaire qui s'appellerait tstamp et donc ton script la remplirait tout seul.

Je vais essayer ça....

Je te tiens au courant si ça marche ou si je suis une buse :D

Encore merci
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par helmain » 03 avr. 2014, 11:40

salut atypik,

Ton script doit comporter une boucle qui lit ton fichier ligne par ligne faisant pour chaque ligne un "insert into" des différentes données dans la table.
Ce qu'il faut faire, c'est intercaler le script à partir de if(strlen($nom_rubrique_time)==) etc… jusqu'à $tstamp=strtotime(etc… juste avant de faire les "insert into"
Ne pas oublier d'ajouter la rubrique $tstamp dans les "insert into"

Ca devrait marcher nickel ! :mrgreen:

@+
Jean-Michel
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

Répondre