Pb avec formats dates - PHP - Programmation
Marsh Posté le 06-05-2011 à 10:38:30
Salut,
perso j'ai l'habitude de passer par php pour traiter mes dates (niveaux perfs franchement j'en sais rien, c'est plus par facilité).
exemple simpliste (manque des tests pr validité de la date, et pr générer la date a renvoyer pr frToPhp j'aime bien passer par date() + mktime() quand ça viens d'un form) :
Code :
|
Marsh Posté le 06-05-2011 à 10:54:17
Merci beaucoup pour ta réponse vanish !
Cependant, j'aimerais savoir ou faut-il mettre ce bout de code, dans la page jourferm.php ou update_jourferm.php ?
lorsque je saurais ou placer ce code, je ferais les tests et je te tiendrais au courant
Marsh Posté le 06-05-2011 à 13:42:40
Pour convertir une date au format yyyy-mm-dd provenant de mysql (ou autre) et l'afficher en fr : date('d/m/Y', strtotime($MaDateEn));
Pour l'inverse, la fonction frToPhp proposée par vanish est pas mal... sauf quelle ne vérifie pas l'existence de la date (genre le 30/02/2011 passsera sans pb)
Marsh Posté le 06-05-2011 à 14:15:06
Merci pour ta réponse
Mes dates sont affichées en 00/00/0000 sauf que lorsque je fais un update, la nouvelle date est toujours en format 00/00/0000 et MySQL ne connait pas ce format, donc ça ne fonctionne pas, quelle fonction faut-il que j'utilise pour que, lorsque je fais un update, la nouvelle date (00/00/0000) renvoie a MySQL cette même valeur mais en 0000-00-00 ?
Désolée je suis débutante donc je ne comprend pas toutes vos explications !
Marsh Posté le 06-05-2011 à 14:48:32
Quand tu prends une date de mysql, tu l'affiches avec la méthode que je t'ai donnée et quand il s'agit de stocker une date provenant de l'ihm (donc au format fr), faut la transformer avec la méthode que t'as donnée vanish (frToPhp). C'est logique : si tu convertis dans un sens, faut faire la transformation inverse dans l'autre sens
BD -> Affichage : en->fr
Affichage -> BD : fr -> en
Marsh Posté le 06-05-2011 à 15:14:24
Oki merci je vais essayer tout ça, mais pour la réponse donnée par vanish, ou faut-il que je mette ce code ?
Marsh Posté le 06-05-2011 à 15:33:03
Uaip rufo, c'est pr ça que j'avais mis :
vanish a écrit : pr générer la date a renvoyer pr frToPhp j'aime bien passer par date() + mktime() quand ça viens d'un form) : |
Donc :
Code :
|
Ou carrement pr éviter tout prob :
Code :
|
Bin tu mets ta fonction qque part ou elle est accessible, et tu l'apelles ou tu en a besoin
Marsh Posté le 06-05-2011 à 16:20:31
perso, je préfère strtofime à mktime Son écriture est plus concise et quand la donnée est sous la forme yyyy-mm-dd, voire yyyy-mm-dd hh:mm:ss, y'a aps besoin de splitter sur les séparateurs - et :, la conversion en timestamp se fait direct avec strtotime...
Marsh Posté le 06-05-2011 à 10:21:10
Bonjour !
J'ai un problème avec les formats des dates, je m'explique :
J'ai une table ab_jourferm avec (jourferm_date, tjf_code, jourferm_libelle).
Les dates dans MySQL sont en format 0000-00-00 alors que moi je les ai affichée en php au format 00/00/0000 grâce à "DATE_FORMAT(AB_JOURFERM_DATE, '%d/%m/%Y') AS AB_JOURFERM_DATE" dans la requête.
Cependant, lorsque je fais un insert, un update ou un delete, vu que les formats sont différents, les boutons cités précédemment ne fonctionnent pas car MySQL ne reconnait pas les dates (car format différent)
voici le code :
jourferm.php
update_jourferm.php
Comment faire pour que MySQL puisse reconnaitre les dates malgré leurs formats différents (MySQL : 0000-00-00, dans jourferm.php : 00/00/0000)
Si vous avez des questions à me poser n'hésitez pas
Merci de bien vouloir m'aider !