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,

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