Changer le format d' une date en age php

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 :)

3 réponses

  1. 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;
    }
    1. merci ;) par contre je cherche toujours a afficher l' age et le sexe :(
      1. 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.