Page 1 sur 1

Insertion dans BDD de dates

Posté : 17 août 2006, 13:59
par Dom!
Bonjour,

J'ai un champ date de naissance comprenant :
<input name="naissancej" type="text" class="label" id="naissancej" value="<? 
echo $_SESSION['naissancej'] ?>" size="2" maxlength="2" onkeyup="sautChamp(this.id, 'naissancem');" />
</label>
                                  <span class="cxpb6poura"><strong> / </strong></span>
                                  <input name="naissancem" type="text" class="label" id="naissancem" value="<? 
echo $_SESSION['naissancem'] ?>" size="2" maxlength="2"onkeyup="sautChamp(this.id, 'naissancea');" />
                                  <span class="cxpb6poura"> /</span>
                                  <input name="naissancea" type="text" class="label" id="naissancea" value="<? 
echo $_SESSION['naissancea'] ?>" size="4" maxlength="4" onkeyup="sautChamp4(this.id, 'permisaj');" />
                                  <?php $naissancejour=$_SESSION['naissancej'];
			   $naissancemois=$_SESSION['naissancem'];
			    $naissanceannee=$_SESSION['naissancea'];
				$naissance="$naissancejour/$naissancemois/$naissanceannee" ; ?>
                                  <input name="naissance" id="naissance"  type="hidden" value="<? 
echo $_SESSION['naissance'] ?>"/>
                                

Je n'arrive pas à enregistrer dans ma base la date de naissance sous forme jj/mm/aaaa
cette ligne n'a pas l'air de fonctionner :
$naissance="$naissancejour/$naissancemois/$naissanceannee"
merci pour votre aide

Posté : 17 août 2006, 15:59
par @rthur
Bonjour,

Tu as bien fait attention au type de champ dans ta base SQL?
N'oublie pas que les champs de type "DATE" doivent être au format Y-m-d et non d/m/Y

Posté : 18 août 2006, 16:08
par Dom!
Je reviens vers vous car je n'y arrive pas !

Comment faire pour rassembler Trois veleurs pour finalement obtenir une date... je m'explique :

J'ai
un champ naissancej
un champ naissancem
un champ naissancea
un champ naissance

Avant mon insertion je fais :
<?php $naissancejour=$_SESSION['naissancej']; 
               $naissancemois=$_SESSION['naissancem']; 
                $naissanceannee=$_SESSION['naissancea']; 
                $naissance="$naissancejour/$naissancemois/$naissanceannee" ; ?> 
J'indique donc que naissance = le jour / le mois / lannée

Mais rien ne s'affiche dans ma base et la valeur de naissance et vide...

Pourriez vous m'indiquer comment faire pour que mon champ naissance affiche une veleur ?

merci

Posté : 18 août 2006, 16:19
par iclo
Bonjour,


N'oublie pas que les champs de type "DATE" doivent être au format Y-m-d et non d/m/Y
Comme @rthur te l'a écrit plus haut, les champ date de mysql sont au format: AAAA-MM-JJ et pas JJ-MM-AAAA.
Et ce pour permettre les tris chronologiques...

Posté : 18 août 2006, 16:21
par Dom!
Je ne comprend pas quelque chose :

Si dans ma base sql j'indique que mon champ naissance est au format VARCHAR (255)... et que j'écrit 23/01/2006 mysql sait qu'il s'agit d'une date ? à cause du format ?

Merci

Posté : 18 août 2006, 16:24
par iclo
non, mysql ne le sait pas, pour lui c'est alors une simple chaine de caractère, c'est pour ça que pour les dates, il existe le champ notamment des types spécifique tel que "DATE"