format date fr en us

Eléphant du PHP | 65 Messages

09 juin 2010, 17:28

bonjour à tous,

je sais il y à beaucoup de chose a se sujet sur la toile mais mon code fonctionne pas
j ai une table comme sa:
id,nom,prenom,ville,email, madate toute les entrée son en varchar dans ma table sauf id qui est init et madate en date
voila le tous est alimenter par un formulaire le format de date est comme suis dans mon formulaire jj/dd/aaaa toutes les données s enregistre bien sauf la date qui affiche toujours 0000-00-00
j ai tester sa

Code : Tout sélectionner

$champsDate = explode("/", $madate); if (!checkdate($champsDate[1], $champsDate[0], $champsDate[2])) {
mais sa marche pas

ViPHP
ViPHP | 5462 Messages

09 juin 2010, 17:35

lorsque que tu insert ta date dans ta base tu va devoir faire par exemple :
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
et lors de ta requete pour alle la chercher
DATE_FORMAT(champs_date, '%d/%m/%Y') AS champs_date

Eléphant du PHP | 314 Messages

09 juin 2010, 17:40

 $champsDate =  explode("/", $madate);
Et si tu fais un print_r de $champsDate ?
Cordialement,
Julien - http://laravel.fr/

Eléphant du PHP | 428 Messages

09 juin 2010, 17:49

Salut,

Je fais l'intrus pour poster du code que j'ai fait il y a de cela quelques temps.
Ca pourrait t'aider ...
// Fonction pour changer la date US vers FR
function datefr($date) { 
$split = split("-",$date); 
$annee = $split[0]; 
$mois = $split[1]; 
$jour = $split[2]; 
return "$jour"."-"."$mois"."-"."$annee"; 
}
 
// Fonction pour changer la date FR vers US
function dateus($date) { 
$split = split("-",$date); 
$annee = $split[2]; 
$mois = $split[1]; 
$jour = $split[0]; 
return "$annee"."-"."$mois"."-"."$jour"; 
} 
 
// On défini les dates => Elles peuvent provenir de la DB par exemple
$date1="2009-09-10";
$date2="21-01-2009";
 
// On transforme les dates
$dateFR=datefr($date1);
$dateUS=dateus($date2);
 
// On affiche les dates
echo $dateFR."<br />";
echo $dateUS;
;)

ViPHP
ViPHP | 5462 Messages

09 juin 2010, 17:56

vous vous embetez avec vos explode
// fr -> us
echo date('Y-m-d', strtotime('12/05/2010'));
// us -> fr
echo date('d/m/Y', strtotime('2010-05-12'));

Eléphant du PHP | 65 Messages

09 juin 2010, 22:05

lorsque que tu insert ta date dans ta base tu va devoir faire par exemple :
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
et lors de ta requete pour alle la chercher
DATE_FORMAT(champs_date, '%d/%m/%Y') AS champs_date
merci de ta réponse ma comment mettre en forme la requete c' sa que je comprend pas j avais essayer
$requete = "INSERT INTO xxx (id,nom,prenom,madate,email,ville) VALUES ('','$nom','$prenom','$madate','$email','$ville')";
si je met
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
comment tu recupere 12/05/2010 de ton exepemple avec $madate?

ViPHP
ViPHP | 5462 Messages

10 juin 2010, 00:25

suffis de remplacer
$requete = "INSERT INTO xxx (id,nom,prenom,madate,email,ville) VALUES ('','$nom','$prenom',STR_TO_DATE('$madate', '%d/%m/%Y'),'$email','$ville')";

Eléphant du PHP | 65 Messages

10 juin 2010, 09:15

nickel merci beaucoup la sa marche super =D>