Probleme pour afficher un age (date de naissance)

Résolu
powerguitou Messages postés 472 Date d'inscription   Statut Membre Dernière intervention   -  
powerguitou Messages postés 472 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'enregistre dans ma base de donnée les date de naissance sous la forme 0000-00-00 donc Y-d-m , je voudrais lorsque je récupère cette valeur la transformé en age.

Actuellement j'affiche la date de cette manière,

echo $data1['Age']."<br>";

Mais j'aimerais affiché l'age ça présente quand même un peu mieux faut dire :-)

Voila si quelqu'un à une idée, merci beaucoup

3 réponses

loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour guitou

Tu peut utiliser PHP pour faire ça :

list($annee, $jour, $mois) = explode("-",$data['Age']);
$diff_annee  =date("Y") - $annee;
$diff_mois  =date("m") - $mois;
$diff_jour  =date("d") - $jour;
if($diff_jour <0 || $diff_mois<0){
$diff_annee--;}

echo $diff_annee; // l'age


0
powerguitou Messages postés 472 Date d'inscription   Statut Membre Dernière intervention   29
 
hello merci de ta réponse, effectivement ça fonctionne.....presque.
En fait selon la date il affiche pas le bon age à 1 an prêt.
tu pourrais m'expliquer ce que tu as fait pour que j essaie de résoudre le truc?
merci à toi
0
loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
 
lol, j'ai trouver ça après 30 sec de recherche sur yahoo !

Donc, ici, l'idée et de tout d'abord mesurer les différence année, moi, jours avec la date de naissance et aujourd'hui.

$diff_annee donne l'age relatif à l'année en cours ;
Mais si le mois est supérieur .. bah ça donne un entier relatif (-3 par exemple) ; donc on vas lui enlever un ans !

Oui ! le souci se situe sur $diff_jour qui vas enlever un an a chaque fois qu'on vas dépasser le jour .. pour chaque mois :-(

à la limite, essaye de mettre plutot
if($diff_jour<0 && $diff_mois<0){
$diff_annee--;}


de cette manière, une fois le jour et le mois dépasser, on lui met son bon age.

en espérant avoir répondus à ta question.

Même les maths ça n'a rien de compliquer.
0
powerguitou Messages postés 472 Date d'inscription   Statut Membre Dernière intervention   29
 
cela ne fonctionne toujours pas sur certaine année, des que j'aurais la solution je la posterais ici cela en aidera surement d'autre.
Merci de ta solution
J'ai déjà essayer pas mal de manière de faire "google est aussi mon ami", si j'ai poster ici c'est parce que rien n'a encore fonctionner correctement.

bye bye
0
powerguitou Messages postés 472 Date d'inscription   Statut Membre Dernière intervention   29
 
Bon j'ai finalement trouver un moyen qui semble fonctionner parfaitement,si quelqu'un y vois des erreurs n'hésiter pas, je débute dans tout ça alors c'est pas évident.

list($annee, $jour, $mois) = explode("-",$data1['Age']);
		{
		$date = explode('/',date('d/m/Y'));
		if(($mois < $date[1]) || (($mois == $date[1] && $jour <= $date[0])))
		{
			$age = $date[2]-$annee;
			
		}else{
		
			$age = $date[2]-$annee-1;
			
		}
		
		}
0