Insérer date de naissance

Insérer date de naissance - PHP - Programmation

Marsh Posté le 15-10-2005 à 15:46:09    

Bonjour à tous,
 
Je travaille en ce moment sur un formulaire qui permet notamment de rentrer une date de naissance.  
Je souhaite l'insérer dans une base de données MySql. Pour l'instant, je le fais de la façon suivante :
1) Je récupère en PHP la date rentrée (de la forme jj/mm/aaaa)
2) Je découpe la chaine pour récupérer la jour, mois et année.
3) J'insère la date avec la fonction qui va bien.
J'aimerai savoir s'il existe une autre façon d'insérer une date, c'est-à-dire sans découper la chaine, dans le but d'avoir le code le plus épuré possible.
 
Merci.

Reply

Marsh Posté le 15-10-2005 à 15:46:09   

Reply

Marsh Posté le 15-10-2005 à 19:34:56    

Si tu demandes la date dans un autre format que celui que tu vas utiliser dans ta base, tu seras obligé d'affecter des transformations à ta date.
 
Après, tu as aussi la solution du mktime(), mais je sais pas si ça apporterais grand chose.

Reply

Marsh Posté le 15-10-2005 à 21:00:34    

quand tu dis découper ta chaine, tu utilises quoi ? des substr ?
Si tu utilises une expression reguliere, tu peux faire la transformation d'une ecriture a l'autre en 1 ligne...
 
si je me souviens bien le format de date dans une base mysql est aaaa-mm-jj ?
 
date française -> date mysql
$datemysql = preg_replace("/^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/","\\3-\\2-\\1",$date);
 
date mysql -> date française
$date = preg_replace("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/","\\3/\\2/\\1",$datemysql);
 
voili voilou, a verifier que l'expression reguliere est juste


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 16-10-2005 à 01:17:57    

Oui effectivement, j'utilise substr.
Je vais me pencher sur ta solution Fluminis, et sur les expressions régulières.
 
Merci à vous deux.

Reply

Marsh Posté le 16-10-2005 à 11:44:18    

Bonjour,
 
Je pense qu'utiliser les regex pour ça, c'est un marteau-pilon pour écraser une puce.
 
Si ton format reçu est 'jj/mm/aaaa' :
 
$date = '16/10/2005';
list($jour, $mois, $annee) = explode('/', $date);
$dateSql = "$annee-$mois-$jour";
 
Lorsque tu récupères la date dans la table, tu peux changer le format dans la requête :
 
select date_format(leChampDate, '%d/%m/%Y)  
 

Reply

Marsh Posté le 16-10-2005 à 11:45:51    

J'ai oublié une apostrophe ici :
'%d/%m/%Y
 
C'est '%d/%m/%Y'

Reply

Sujets relatifs:

Leave a Replay

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