Changer le format d' une date en age php

ced3E Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,



Je cherche a afficher une date en age et mon champs sexe est défini par 1 homme 2 femme j' aimerai afficher homme femme au lieu de 1, 2 voila mon code pour le moment :

echo ' 
',$_SESSION['Nomdefamille'], $_SESSION['Prenom'],'<br /> 
   ',$_SESSION['sexe'],' 
    de',$_SESSION['Datedenaissance'],'ans';


La date est afficher sous se format 2011-01-01
Ps: j' arrive pas a crée des espaces c est pas comme le html ?

J' aimerai afiicher quel que chause comme ça :

Nom Prénom

Homme de 20 ans

Merci d' avance :)
A voir également:

3 réponses

le_joker_fou Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   239
 
Salut,

déjà la concaténation en PHP c'est les .

echo $_SESSION['Nomdefamille']." ".$_SESSION['Prenom'].
'<br />'.$_SESSION['sexe']." de ".$_SESSION['Datedenaissance']." ans";


Ensuite si Datenaissance est au format anglais :

list($annee, $mois, $jour) = explopde('-',$_SESSION['Datedenaissance'])


te permet de récupérer l'annez dans $annee, le mois dans $mois et lme jour dans $jour.
0
ced3E Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   2
 
merci ;) par contre je cherche toujours a afficher l' age et le sexe :(
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

Pour le sexe, remplace $_SESSION['sexe'] par :
(($_SESSION['sexe'] == 1) ? 'Homme' : 'Femme')


Pour calculer l'age depuis une date :
<?php
function age($naiss)  {
	list($annee, $mois, $jour) = split('[-.]', $naiss);
	$today['mois'] = date('n');
	$today['jour'] = date('j');
	$today['annee'] = date('Y');
	$annees = $today['annee'] - $annee;
	if ($today['mois'] <= $mois) {
		if ($mois == $today['mois']) {
			if ($jour > $today['jour'])
				$annees--;
		} else
				$annees--;
	}
	echo $annees;
}
0