SJD
Messages postés10Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention17 janvier 2008
-
6 oct. 2005 à 18:55
SJD
Messages postés10Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention17 janvier 2008
-
7 oct. 2005 à 11:45
Bonjour,
Encore un problème sur les dates qu'un newbee comme moi ne sait
résoudre. Voici la déclaration de la date est `date` datetime default
NULL.
En local, avec EasyPhp 1.7, le tri par date avec la requête SELECT id,
date FROM ma_table ORDER BY date DESC donne le résultat attendu, à
savoir des dates triées au format 25/03/2005 16:15. Mais en serveur
déporté, avec phpMyAdmin 2.6.0 la même date est interprétée sous la
forme 3-/-0/2005 25: 1 d'où le résultat de requête différent.
J'ai l'impression que phpMyAdmin cherche une date au format timestamp yyyymmddhhmiss ce que EasyPhp ne fait pas, et il a raison.
Est-ce un problème de définition de la variable date, ou est-ce un
problème d'incompatibilité entre les versions locale et serveur ?
Comment y remédier ?
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 6 oct. 2005 à 23:24
Salut,
Je vais profiter de ce poste pour poster moi aussi...
En SQL : TIMESTAMP = yyyymmjjhhnnss
En PHP (ou Unix/Linux) TIMESTAMP = nombre de secondes écoulées depuis le 01 Janvier 1970
Bref ça fout un peu le brin ce genre de truc... !
"Est-ce un problème de définition de la variable date, ou est-ce un
problème d'incompatibilité entre les versions locale et serveur ?
Comment y remédier ?"
A tout les coups !!! converti les dates dans un format commun et essaye
SJD
Messages postés10Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention17 janvier 2008 7 oct. 2005 à 09:22
Merci J_G
Mon problème vient d'un code SQL (enregistrement et requête). Je
cherche justement le moyen de forcer la fonction NOW() utilisée à
l'enregistrement de la variable date à me renvoyer un format de type
TIMESTAMP. La page http://dev.mysql.com/doc/mysql/fr/datetime.html donne bien des informations mais où programme-t-on le format : dans la
structure de la table ? dans le code à l'enregistrement ?
Mais je ne comprendrai toujours pas pourquoi l'interprétation du code -
donc le résultat du tri - ce fait différemment entre EasyPHP et
phpMyAdmin !
SJD
Messages postés10Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention17 janvier 2008 7 oct. 2005 à 11:45
Voici la solution au problème. Lors de la requête avec tri par date, il
faut utiliser un format de tri yyyymmddhhmmss par la requête SELECT
..., DATE_FORMAT(date, '%Y%m%d%H%i%S'), ... FROM ma_table ORDER BY date DESC .
La date est récupérée au format de sa déclaration dans la table, chez moi DATETIME classique à savoir yyyy-mm-dd hh:mm:ss