Problème de conversion de format de date.... - PHP - Programmation
Marsh Posté le 10-08-2003 à 00:13:47
Décidément, les questions se suivent et se ressemblent ce soir
Le mieux est de convertir la date directement dans la requête SQL. Avec MySQL, ca donne ca :
SELECT *, DATE_FORMAT(date, '%d/%m/%Y') AS date_fr FROM ...
qui va ajouter une colonne appellée date_fr dans le résultat de la requête
Marsh Posté le 10-08-2003 à 00:39:15
Super !!! Ca marche nickel ! Merci beaucoup ! Ca faisait une pété de temps que je cherchais la solution !
Marsh Posté le 01-09-2003 à 22:30:11
je releve ce topic, parce que j'ai justement le meme pb, ou presque...
voila, dans mon formulaire j'ai trois liste deroulantes (jours/mois/année - c pour une date de naissance), deja j'aimerais bien savoir comment sauvegarder ces données dans le meme champs mais aussi, comment affichée cette date normalement, je veux dire au format fr, je pige pas bien ta réponse bebert
merci
Marsh Posté le 01-09-2003 à 23:21:27
KdZ' a écrit : je releve ce topic, parce que j'ai justement le meme pb, ou presque... |
tu fait un implode et tu les met dans ta bdd... >> RTFM
Pour l'affichage, ça dépend de comment tu les enregistre (le format hein...)
Edit: implode ou concaténation, au choix
Marsh Posté le 01-09-2003 à 23:37:15
Moi j'avais essayer ça :
Code :
|
mais ça doit pas être ça dutout
Marsh Posté le 01-09-2003 à 23:40:08
KdZ' a écrit : Oula ! |
c'est vraiment tout con, le plsu simple, la concaténation:
Code :
|
et voilou...
$date va t'afficher par exemple : 01/09/2003 si tu as mis 01 pour $jour, 08 pour $mois et 2003 pour $annee
Edit: c'était pas vraiment ça que tu voulais...
Marsh Posté le 01-09-2003 à 23:43:01
KdZ' a écrit : Moi j'avais essayer ça :
|
J'arrive pas à comprendre ce que tu veux faire ??
Marsh Posté le 01-09-2003 à 23:52:09
Voila, en faite la partie de mon formulaire d'où je recup les données, c juste depuis 3 liste deroulantes (select)
1 pour le jour, la 2eme pour le mois et la 3eme pour l'année de naissance.
Et ensuite pour afficher la date je faisait un bete print("$row[0] / $row[1] / $row[1]" );
en admettant que les row[0 1 et 2] soient le resultat des 3 listes du formulaire.
alors je c c completement idiot, je voulais donc un moyen d'enregistrer (dans le formulaire) la date de naissance du membre au format 00-00-0000 (fr quoi) mais deja comment etre sur que la date sera vraiment rentrée comme cela, ensuite, une fois dans la bdd, il me faudrait reaffiché cette date de naissance...
j'avoue avoir un peu de mal
Marsh Posté le 02-09-2003 à 09:36:06
Benh comme dit plus haut, pour l'enregistrement, tu fais une concaténation:
Code :
|
Tu peux enregistrer cela dans un varchar directement en format fr et pour l'affichage c'est un simple select
Marsh Posté le 02-09-2003 à 09:56:55
Quelle est la meilleur methode ? comment t'aurais fait toi ?
Marsh Posté le 02-09-2003 à 10:12:52
KdZ' a écrit : Quelle est la meilleur methode ? comment t'aurais fait toi ? |
Benh ça dépend un peu du site en question... je pense qu'un enregistrement de la date dans un type date de mysql est un peu mieux car lors de l'affichage sur un site multilingue, tu pourras changer sont format seulement avec un setlocale et puis cela reste le format qui correspond le mieux pour une date même si des traitement sont à éffectuer avant et/ou après .
A toi de voir un peu les différentes possibilité et celle qui te convient le mieux >> RTFM
Marsh Posté le 02-09-2003 à 10:37:58
eh bien on oublie d'utiliser mon super smiley, ou c'est pour ne pas me reverser de royalties ?
Marsh Posté le 02-09-2003 à 10:39:07
Sh@rdar a écrit : eh bien on oublie d'utiliser mon super smiley, ou c'est pour ne pas me reverser de royalties ? |
Mon sauveur
Je me souvenait plus du code
Marsh Posté le 02-09-2003 à 10:49:31
je prefere faire comme ça, je veux dire, un seul champs date...
mais je reviens toujours à mon pb
Marsh Posté le 02-09-2003 à 10:54:44
RiderCrazy a écrit : Sh@rdar !! Je te le laisse... |
reviens par là toi
(j'vé quand meme pas me deme*** tout seul )
Marsh Posté le 02-09-2003 à 10:56:21
KdZ' a écrit : |
Marsh Posté le 02-09-2003 à 11:07:53
en fait si tu peux partir
si je demande de l'aide c'est que j'ai deja chercher pas mal de mon coter et nexen j'ai deja vu (je me sert de leur doc...)
Marsh Posté le 02-09-2003 à 14:10:52
KdZ' a écrit : |
1/ oui
2/ Concaténation de variables, type de champ mysql "varchar", et tu fais un "insert" dans un "mysql query"
3/ Si tu utilises un formulaire tel que celui-ci et que c'est toi qui fait la concaténation, c'est toi qui va définir la forme de ta date (en l'occurence jj/mm/aaaa)
4/ un simple select... si tu as fait comme dit précédemment, tu n'auras aucun formatage à faire.
5/ je vois bien mais c'est la base... cherche un peu et n'attends pas que ça tombe tout cuit. Tu remarqueras certainement que je ne t'ai mis aucun script mais seulement des focntions et des pistes à étudier... la théorie quoi, à toi de faire la pratique, ponds nous un code et si ça bloque tu repasses
Marsh Posté le 03-09-2003 à 11:07:25
ouarf, c chaud, je vais encore essayer ce soir, si j'arrive pas je posterais mon code...
++
Marsh Posté le 05-09-2003 à 00:29:45
Perso, j'utlise 2 fonctions très connes :
Code :
|
C'est peut etre pas le meilleur moyen, mais ca marche nickel.
Stocke ta date au format date de MySQL, c'est mieux pour des recherches apres ou des tris ou plein de trucs ....
Je te donnes le code parce que tu y arrive pas. Mais comprends le avant de le reprendre tout fait (a le limite fait pas de copier/coller et refais le toi meme).
Et si la tu dis que tu as encore du mal, arrete le PHP, c'est peut etre méchant mais il faut dire ce qui est.
Marsh Posté le 10-08-2003 à 00:10:46
Je vais chercher une date qui est dans le format "2003 08 10" d'une base de données SQL et j'aimerais la mettre au format "10 08 2003" mais je ne trouve pas la commande....
Vous pouvez m'aider svp ?