Probleme pour afficher un age (date de naissance)

Résolu/Fermé
Signaler
Messages postés
469
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
29 janvier 2021
-
Messages postés
469
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
29 janvier 2021
-
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

Messages postés
316
Date d'inscription
mercredi 20 mars 2013
Statut
Membre
Dernière intervention
1 juin 2015
16
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
Messages postés
469
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
29 janvier 2021
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
Messages postés
316
Date d'inscription
mercredi 20 mars 2013
Statut
Membre
Dernière intervention
1 juin 2015
16
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
Messages postés
469
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
29 janvier 2021
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
Messages postés
469
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
29 janvier 2021
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