Formulaire et date et MySQL

Formulaire et date et MySQL - PHP - Programmation

Marsh Posté le 30-07-2013 à 16:22:13    

Bonjour,
Je fais saisir à l'utilisateur une date au format JJ/MM/AAAA
Dans la BDD sql cette date est au format 0000-00-00.
 
Quelle démarche à suivre en PHP pour formater le tout ?
 
Je crois déjà qu'à l'INSERT je dois formater la date JJ/MM/AAAA en 0000-00-00
Puis lorsque je récupére la donnée pour l'affichage je dois faire le chemin inverse....  
 
 
merci

Reply

Marsh Posté le 30-07-2013 à 16:22:13   

Reply

Marsh Posté le 30-07-2013 à 16:30:25    

ben tout simplement changer l'ordre des nombres :/

Code :
  1. $sDateFr = "01/09/2013";
  2. $sDateEn = implode("-", array_reverse(explode("/", $sDateFr )));


C'est le principe. Après, faut inclure les tests de validités de la date au format FR (avec les RegExp, par ex).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 30-07-2013 à 16:35:27    

Merci
il me semble que cette partie concerne l'affichage.
Mon problème deja concerne le stockage, lorsque je lance ma requete  

Code :
  1. mysql_query("INSERT INTO comment VALUES('','$pseudo','$message','$date')" );


l'enregistrement en table me donne 0000-00-00, en BDD le type est DATE.


Message édité par tewf le 30-07-2013 à 16:36:28
Reply

Marsh Posté le 30-07-2013 à 16:59:30    

J'avais bien compris. Toi, tu cherches à faire rentrer une date au format Fr dans un champ de Mysql au format EN. Ca risque pas de marcher d'où ton 0000-00-00 :/
 
Tu dois donc appliquer mon code avant de faire l'insert sur ta variable $date
 

Code :
  1. $date = $_POST["ChampHtmlDate"];
  2. $sDateEn = implode("-", array_reverse(explode("/", $date)));
  3. mysql_query("INSERT INTO comment VALUES('','$pseudo','$message','$sDateEn')" );


Ca, c'est pour l'insert en BD.
 
Pour le réaffiche, suffit de faire :

Code :
  1. $sDateFr = date("d/m/Y", strtotime($dateEn));


$dateEn prenant sa valeur depuis la BD via une requête SQL.


Message édité par rufo le 30-07-2013 à 17:00:03

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 30-07-2013 à 17:27:41    

merci je vais tester tout ca. ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed