pb de date-heure

Une question, un bug ?
Répondre
rdem
Nouveau membre
Messages : 9
Inscription : lun. avr. 02, 2007 6:36 pm
Localisation : BAR LE DUC
Contact :

Message par rdem »

Bonjour,

Je tente vainement d'utiliser GraphWeather sur une base MySQL générée par le logiciel Weather display.
Je pense avoir un problème de lecture des champs date et heure qui empêche toute génération des graphes.
En effet, lorsque je demande une génération sur les dernières 24 h, le debut et la fin (à gauche) affichent du 6 au 7 fevrier 2106 et l'heure à 7:28:15 ! J'ai bien le fond des graphes à droite, mais aucune donnée ne s'affiche.
Dans ma base j'ai un champ "date" au format AAAA-MM-JJ et "time" HH:MM:SS
Dans la configuration du plugin j'ai mis %Y-%m-%d dans le champ date et %H:%M:%S dans le champ heure (par contre si je met %T dans le champ heure, je me fais jeter du logiciel sans autre forme de procès !)

Une idée ?

Raphaël
Avatar de l’utilisateur
TiToine
Site Admin
Messages : 3356
Inscription : lun. mars 20, 2006 11:16 am
Localisation : Montréal
Contact :

Message par TiToine »

Salut,

Je t'ai envoyé un nouveau plugin par mail, tu me diras si ca resout le problème.

Antoine.
rdem
Nouveau membre
Messages : 9
Inscription : lun. avr. 02, 2007 6:36 pm
Localisation : BAR LE DUC
Contact :

Message par rdem »

Bonjour,

Pas d'amélioration avec le nouveau plugin....snif.
Pour faire avancer le schmilblik, j'ai tenté deux expériences : j'ai d'abord ajouté à ma table deux colonnes au format varchar dans lesquelles j'ai copié les valeurs de date et time. Pas d'amélioration, si ce n'est que, l'utilisation de la nouvelle colonne time me jette systématiquement du logiciel sans aucun message !
deuxième expérience : j'ai créé une nouvelle colonne timestamp que j'ai alimenté avec la concaténation des date et time sans séparateur, et je n'obtiens toujours rien.
J'ai fait l'expérience sur deux ordi différents attaquant la meme base (un en local, un en réseau) : les problèmes sont identiques.
Je commence à me demander si c'est bien un problème de date/heure.
Apparemment, la connexion à la base se fait bien, je n'ai aucun message d'erreur (j'en ai eu au début, parce que je m'étais trompé d'intitulé de colonne) Par contre, un clique sur l'icone du systray ne me montre que l'intitulé des variables ($CURRENT(relative_pressure) par ex) et non les valeurs. La lecture des données ne semble pas se faire...
J'utilise un serveur MySQL 5.0 avec le driver ODBC 3.51
Pourtant, j'aimerai bien mettre ces beaux graphiques sur mon site (http://www.meteo-barleduc.net) !...

Merci de bien vouloir m'aider,

Raphaël
Avatar de l’utilisateur
TiToine
Site Admin
Messages : 3356
Inscription : lun. mars 20, 2006 11:16 am
Localisation : Montréal
Contact :

Message par TiToine »

Si tu arrives a générer une colonne avec un timestamp unix ca doit marcher. C'est aussi la manière la plus rapide de lire la base.
rdem
Nouveau membre
Messages : 9
Inscription : lun. avr. 02, 2007 6:36 pm
Localisation : BAR LE DUC
Contact :

Message par rdem »

Vraiment désolé, mais quelques soient mes essais, je ne parviens pas à tracer les graphiques.
J'utilise mon nouveau champ timestamp, au format timestamp de mySQL (est-il identique au champ UNIX ?). Il semble que le plugin soit moins perdu, car lorsque j'ouvre un onglet, les dates proposées pour les 24h sont bonnes. Par contre, les graphiques restent désespérément vides....
J'ai fait l'essai en utilisant le plugin csv et cela fonctionne, mais je ne peux obtenir que le jour en cours de cette manière, ce qui ne m'interesse pas.
Il s'agit donc bien d'un problème de lecture de la base semble-t-il. Le driver ODBC ne serait-il pas en cause ?

Raphael
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Message par jturlier »

Le timestamp unix (nb de secondes depuis le 1er jan 1970 si je ne me trompe pas sur la date) n'est pas identique au TS MySQL qui est de la forme aaaammjjhhmmss. Le drv 3.51 normalement fonctionne ss pb. Le plugin mysql doit ds le cas du timestamp mysql utiliser une date formatée du type %Y%m%d%H%M%S.
En espérant que ces remarques puissent t'aider.
Dernière modification par jturlier le mer. avr. 04, 2007 10:43 am, modifié 1 fois.
Jean

Station : VP2 Pro Console Vue + anémomètre à Ultra-sons
Logiciels : Cumulus 1.9.4 + Cumulus2SQL
Serveur local : Apache + MySQL +PHP
PC : W10
Support Audio : FR

http://meteoserignan.ddns.net
Image
"Aide-toi d'abord toi-même et les autres t'aideront ... peut-être"
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Message par jturlier »

Raphaël,
J'ai oublié de rappeler qu'en SQL les noms date, time et timestamp sont réservés et ne doivent en principe pas être utilisés comme noms de variables ou de champs. (au début tu indiques 2 champs "date" et "time".)
Bonne réception.
Jean

Station : VP2 Pro Console Vue + anémomètre à Ultra-sons
Logiciels : Cumulus 1.9.4 + Cumulus2SQL
Serveur local : Apache + MySQL +PHP
PC : W10
Support Audio : FR

http://meteoserignan.ddns.net
Image
"Aide-toi d'abord toi-même et les autres t'aideront ... peut-être"
rdem
Nouveau membre
Messages : 9
Inscription : lun. avr. 02, 2007 6:36 pm
Localisation : BAR LE DUC
Contact :

Message par rdem »

J'AI TROUVE ! (en fait avant de lire les réponses de Jean, merci quand même, il était sur la bonne voie.... par contre date et time peuvent être utilisé comme nom de champs à condition de les mettre entre accents graves (AltGr 7) dans les requêtes)

Comme je le pressentait au début, le problème vient tout de même de la lecture des champs date et heure dans la base avec le plugin MySQL (c'est peut être à revoir Antoine, de préférence avant 2038, date de l'extinction du timestamp ;-D)

Effectivement, le timestamp MySQL et le timestamp Unix n'ont rien à voir, par contre une fonction MySQL permet de convertir une date-heure en timestamp Unix.
J'ai donc créé une colonne gwtimestamp au format integer que j'alimente automatiquement avec un trigger, à chaque insertion.
Pour ceux que cela peut interesser voici le code du trigger :

create trigger ins_timestamp before insert on wx_data
for each row set new.gwtimestamp=unix_timestamp(concat(new.`date`,' ',new.`time`))

ma table s'appelle wx_data, elle contient un champ "date" et "time" qui contiennent la date et l'heure.

Je fait lire par le plugin ce nouveau champ et .....ca marche pas !.....avec le nouveau plugin que m'a envoyé Antoine.

Dernier essai avec le plugin livré en standard et ........CA MARCHE !!!

Merci à tous et RV sur mon site pour voir ces magnifiques graphiques....

Raphael
http://www.meteo-barleduc.net
Avatar de l’utilisateur
TiToine
Site Admin
Messages : 3356
Inscription : lun. mars 20, 2006 11:16 am
Localisation : Montréal
Contact :

Message par TiToine »

Content que ca marche. Je reverai ces problèmes dès que j'aurai le temps. Le problème c'est qu'il y a tellement de cas possible date heure que c'est lourd a geré...
Répondre