Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
1137 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de conversion de format de date....

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de conversion de format de date....

n°482236
Davjack
Asta la vista miam miam !!!
Posté le 10-08-2003 à 00:10:46  profilanswer
 

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 ?

mood
Publicité
Posté le 10-08-2003 à 00:10:46  profilanswer
 

n°482239
mrbebert
Posté le 10-08-2003 à 00:13:47  profilanswer
 

Décidément, les questions se suivent et se ressemblent ce soir :pt1cable:  
 
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 :)

n°482264
Davjack
Asta la vista miam miam !!!
Posté le 10-08-2003 à 00:39:15  profilanswer
 

Super !!! Ca marche nickel ! Merci beaucoup ! Ca faisait  une pété de temps que je cherchais la solution !

n°504527
KdZ'
Simple®
Posté le 01-09-2003 à 22:30:11  profilanswer
 

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 :ouch: mais aussi, comment affichée cette date normalement, je veux dire au format fr, je pige pas bien ta réponse bebert :pfff:  
 
merci ;)

n°504560
KdZ'
Simple®
Posté le 01-09-2003 à 23:18:50  profilanswer
 

:bounce:  :bounce:  :bounce:

n°504562
RiderCrazy
Posté le 01-09-2003 à 23:21:27  profilanswer
 

KdZ' a écrit :

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 :ouch: mais aussi, comment affichée cette date normalement, je veux dire au format fr, je pige pas bien ta réponse bebert :pfff:  
 
merci ;)

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


Message édité par RiderCrazy le 01-09-2003 à 23:22:28
n°504567
KdZ'
Simple®
Posté le 01-09-2003 à 23:34:30  profilanswer
 

Oula ! :pt1cable:  
 
un exemple please ? :??:

n°504570
KdZ'
Simple®
Posté le 01-09-2003 à 23:37:15  profilanswer
 

Moi j'avais essayer ça :  :(  
 

Code :
  1. <?php
  2. include("connexion.php" );
  3. $req = mysql_query("SELECT * FROM membres DATE_FORMAT(date_naissance, '%d/%m/%Y') AS date_fr " ) or die('Req. sql error');
  4. $row = mysql_fetch_row($req);
  5. print("$row[12]" );
  6. print("<br /><br />$req" ); //ça c'etait juste histoire de voir ce que ma requete...
  7. ?>


 
mais ça doit pas être ça dutout :sweat:  
 
 :hello:

n°504571
RiderCrazy
Posté le 01-09-2003 à 23:40:08  profilanswer
 

KdZ' a écrit :

Oula ! :pt1cable:  
 
un exemple please ? :??:  

c'est vraiment tout con, le plsu simple, la concaténation:

Code :
  1. <?php
  2. $date = $jour."/".$mois."/".$annee;

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...


Message édité par RiderCrazy le 01-09-2003 à 23:40:52
n°504574
RiderCrazy
Posté le 01-09-2003 à 23:43:01  profilanswer
 

KdZ' a écrit :

Moi j'avais essayer ça :  :(  
 

Code :
  1. <?php
  2. include("connexion.php" );
  3. $req = mysql_query("SELECT * FROM membres DATE_FORMAT(date_naissance, '%d/%m/%Y') AS date_fr " ) or die('Req. sql error');
  4. $row = mysql_fetch_row($req);
  5. print("$row[12]" );
  6. print("<br /><br />$req" ); //ça c'etait juste histoire de voir ce que ma requete...
  7. ?>


 
mais ça doit pas être ça dutout :sweat:  
 
 :hello:  


 :heink: J'arrive pas à comprendre ce que tu veux faire ??

mood
Publicité
Posté le 01-09-2003 à 23:43:01  profilanswer
 

n°504578
KdZ'
Simple®
Posté le 01-09-2003 à 23:52:09  profilanswer
 

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.
 
http://pim.asso.fr/stkge/upload/fichiers/form1.png
 
 
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  :lol:


Message édité par KdZ' le 01-09-2003 à 23:59:41
n°504592
KdZ'
Simple®
Posté le 02-09-2003 à 00:25:52  profilanswer
 

:bounce:

n°504707
RiderCrazy
Posté le 02-09-2003 à 09:36:06  profilanswer
 

Benh comme dit plus haut, pour l'enregistrement, tu fais une concaténation:

Code :
  1. $date = "$jour/$mois/$annee";

Tu peux enregistrer cela dans un varchar directement en format fr et pour l'affichage c'est un simple select

n°504735
KdZ'
Simple®
Posté le 02-09-2003 à 09:56:55  profilanswer
 

Quelle est la meilleur methode ? comment t'aurais fait toi ?

n°504754
RiderCrazy
Posté le 02-09-2003 à 10:12:52  profilanswer
 

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 [:spamafote].
A toi de voir un peu les différentes possibilité et celle qui te convient le mieux >> RTFM

n°504781
Sh@rdar
Ex-PhPéteur
Posté le 02-09-2003 à 10:37:58  profilanswer
 

eh bien on oublie d'utiliser mon super smiley, ou c'est pour ne pas me reverser de royalties ? :D
 
 [:sh@rdar]  


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°504785
RiderCrazy
Posté le 02-09-2003 à 10:39:07  profilanswer
 

Sh@rdar a écrit :

eh bien on oublie d'utiliser mon super smiley, ou c'est pour ne pas me reverser de royalties ? :D
 
 [:sh@rdar]  
 

Mon sauveur :love:
Je me souvenait plus du code :whistle:

n°504812
KdZ'
Simple®
Posté le 02-09-2003 à 10:49:31  profilanswer
 

je prefere faire comme ça, je veux dire, un seul champs date...
mais je reviens toujours à mon pb [:atreyu]


Message édité par KdZ' le 02-09-2003 à 10:50:00
n°504820
RiderCrazy
Posté le 02-09-2003 à 10:52:31  profilanswer
 

Sh@rdar !! Je te le laisse...
[:neowen]

n°504831
KdZ'
Simple®
Posté le 02-09-2003 à 10:54:44  profilanswer
 

RiderCrazy a écrit :

Sh@rdar !! Je te le laisse...
[:neowen]


 
 
 :non: reviens par là toi  :o  
 
 :D (j'vé quand meme pas me deme*** tout seul :(  :??: )

n°504834
RiderCrazy
Posté le 02-09-2003 à 10:56:21  profilanswer
 

KdZ' a écrit :


 
 
 :non: reviens par là toi  :o  
 
 :D (j'vé quand meme pas me deme*** tout seul :(  :??: )

[:sh@rdar] avec un lien en prime dessus :sol:

n°504853
KdZ'
Simple®
Posté le 02-09-2003 à 11:07:53  profilanswer
 

en fait si tu peux partir :o  
 
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...)

n°505078
KdZ'
Simple®
Posté le 02-09-2003 à 13:58:43  profilanswer
 

:pfff:  :pfff:  :pfff:

n°505101
RiderCrazy
Posté le 02-09-2003 à 14:10:52  profilanswer
 

KdZ' a écrit :


alors je c c completement idiot (1), je voulais donc un moyen d'enregistrer (dans le formulaire) la date de naissance du membre au format 00-00-0000 (fr quoi)(2) mais deja comment etre sur que la date sera vraiment rentrée comme cela(3), ensuite, une fois dans la bdd, il me faudrait reaffiché cette date de naissance...(4)
 
j'avoue avoir un peu de mal  :lol: (5)


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
 :hello:

n°505483
KdZ'
Simple®
Posté le 02-09-2003 à 18:01:29  profilanswer
 

c sympas, je vais essayer ;)

n°506180
KdZ'
Simple®
Posté le 03-09-2003 à 11:07:25  profilanswer
 

ouarf, c chaud, je vais encore essayer ce soir, si j'arrive pas je posterais mon code...
++ ;)

n°508066
yo c spi
Yo !
Posté le 05-09-2003 à 00:29:45  profilanswer
 

Perso, j'utlise 2 fonctions très connes :  
 

Code :
  1. // Transforme la date US (yyyy-mm-dd) en date francaise (jj/mm/aaaa)
  2. function dateUs2Fr ($dateUs)
  3. {
  4. $tabDate = explode("-", $dateUs);
  5. $dateFr = $tabDate[2]."/".$tabDate[1]."/".$tabDate[0];
  6. return $dateFr;
  7. }
  8. // Transforme la date francaise (jj/mm/aaaa) en date US (yyyy-mm-dd)
  9. function dateFr2Us ($dateFr)
  10. {
  11. $tabDate = explode("/", $dateFr);
  12. $dateUs = $tabDate[2]."-".$tabDate[1]."-".$tabDate[0];
  13. return $dateUs;
  14. }


 
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.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de conversion de format de date....

 

Sujets relatifs
Problème de templateprobleme pour permutter 2 entiers par adresse...
[batch] concaténer date et nom fichierpetit probleme sur liste chainée simple
Probleme d'implementation operator= en C++[newbies en PHP] problème de base (mais qui m'énerve!)
Time Format [Resolu][ASP/SQL] problème insert into......
Problème de serveur SMTP pour envoi de mail en phpOpera - Probleme
Plus de sujets relatifs à : Problème de conversion de format de date....


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR