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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Les dates : j'arrive pas à enrégistrer dans ma BD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Les dates : j'arrive pas à enrégistrer dans ma BD

n°2196720
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 10:51:37  profilanswer
 

Bonjour,
 
Après validation de mon formulaire, je récupère le mois et l'année sélectionnés par l'utilisateur (champ Select), puis je crée une date à partir de ces données.
 
Si l'utilisateur n'a pas selectionné une date, je récupère par défaut la date du jour.
 
Et quand je mets un echo juste après, j'ai ma date qui est bien affiché au bon format (exemple : 2013-08-07).
 
Sauf que quand j'enrégistre les données dans ma base, la date n'est pas enregistrée (je me retrouve avec 0000-00-00).
 
Voici mon code :  
 
                $dt_effet= date('d-m-Y');                                    //je récupère la date du jour (par défaut)
   
  if ( isset ($_POST ['new_dt_contrat']) ){              //je teste si l'utilisateur a choisi une date
  $m=$_POST ['dt_mois'];
  $y=$_POST ['dt_annee'];
  $dt_effet = date("$y-$m-01" );                          //je crée une date avec le mois et l'année choisi par l'utilisateur
  }
 
                //echo $dt_effet ;                                         //m'affiche bien la date d'effet du contrat.
 
               ...
 
                // Insertion à la BD
 
                $sql =new mySql ("INSERT INTO `matable`
  (`id`, `numcontrat`, `name`, `firstname`, `dt`, `dt_effet`)
                VALUES (NULL, $num_contrat, $name, $firstname, NOW (), $dt_effet) " );     //Tout est OK sauf la date d'effet du contrat ( $dt_effet ).
 
 
Je vous remercie d'avance pour votre aide.
 


---------------
signé babs...peace.
mood
Publicité
Posté le 08-07-2013 à 10:51:37  profilanswer
 

n°2196726
rufo
Pas me confondre avec Lycos!
Posté le 08-07-2013 à 11:00:06  profilanswer
 

$dt_effet= date('d-m-Y');  
 
-> vue le format, m'étonnes pas que ça marche pas :/


---------------
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
n°2196728
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 11:03:28  profilanswer
 

Merci pour la réponse, j'ai mis ce format parce que quand je regarde dans la BD, je trouve le même format.
 
DOnc, tu penses que je devrais mettre ce format : 00/00/0000 ???

n°2196730
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 11:11:57  profilanswer
 

rufo a écrit :

$dt_effet= date('d-m-Y');  
 
-> vue le format, m'étonnes pas que ça marche pas :/


 
 
 
Merci pour la réponse, j'ai mis ce format parce que quand je regarde dans la BD, je trouve le même format.  
 
Donc, pourriez-vous me conseiller le bon format ???

n°2196734
rufo
Pas me confondre avec Lycos!
Posté le 08-07-2013 à 11:37:03  profilanswer
 

Je suis très étonné car les champs de type date en BD ont par défaut le format YYYY-MM-DD.
 
Et dans ton code, on trouve cette ligne : $dt_effet = date("$y-$m-01" );
 
Quoi qu'il en soit, y'a une incohérence dans les formatas de date dans ton code :/
 
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
 

Citation :

The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.


---------------
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
n°2196737
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 11:47:53  profilanswer
 

Là je vois plus claire , je pense que que ça va marcher avec ce format.
 
Je reviens vite vers vous.
 
Thanks for all.

n°2196745
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 12:25:03  profilanswer
 

Comme promis je reviens vers vous, et très content même ^^
 
ça marche nickel, j'ai fait ceci : $dt_effet= date('Ymd');
 
En effet, j'ai juste enlevé les " - " , comme vous pouvez le constater.
 
J'ai réussi grâce à vous .. alors grand merci !!!  :D

n°2196746
rufo
Pas me confondre avec Lycos!
Posté le 08-07-2013 à 13:03:55  profilanswer
 

C'est pas trop conseillé d'enlever les "-" :/ Si tu veux afficher une date en fr (jj/mm/aaaa), avec le format YYYY-mm-dd, suffit de faire :
date("d/m/Y", strtotime($DateFormatEN));


---------------
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
n°2196766
baboye11
l'entre-aide avant tout.
Posté le 08-07-2013 à 14:23:08  profilanswer
 

C'est appliqué, et ça marche nickel..merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Les dates : j'arrive pas à enrégistrer dans ma BD

 

Sujets relatifs
Bd Access, champs liés à la source Excel avec VBAProblème de création xml en PHP avec données d'une BD
[VBA] DATESCalcul différence de deux dates au format FR
enregistrer + jtable[VBA-Macros][Excel]Comparaison de deux dates
je n'arrive pas à ajouter des servers web sous netbeansRequête Sql - Trouver dates les plus proches
[access 2003] - Incrémentation de DatesEnregistrer une feuille au format txt
Plus de sujets relatifs à : Les dates : j'arrive pas à enrégistrer dans ma BD


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