Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2011, 17h18   #1
Futur Membre du Club
 
Inscription : mai 2007
Messages : 115
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 115
Points : 19
Points : 19
Par défaut Calcul age en mois

Bonjour à tous,
j'ai trouvé une petite fonction qui calcule l'age depuis 1 date de naissance
Mon souci est que si la date est inférieure à un an la fonction retourne 0
comment faire pour avoir le nb de mois à la place ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php 
//à partir de la date de naissance, retourne l'âge dans la variable $age
// date de naissance (partie à modifier)
$ddn = "02/08/2010";
// enregistrement de la date du jour
$DATEDUJOUR = date("Y-m-d"); $DATEFRAN = date("d/m/Y");
// calcul de mon age d'après la date de naissance $ddn
$annais = substr("$ddn", 6, 4);
$anjour = substr("$DATEFRAN", 6, 4);
$moisnais = substr("$ddn", 3, 2);
$moisjour = substr("$DATEFRAN", 3, 2);
$journais = substr("$ddn", 0, 2); $jourjour = substr("$DATEFRAN", 0, 2);
$age = $anjour-$annais;
if ($moisjour<$moisnais){$age=$age-1;}
if ($jourjour<$journais && $moisjour==$moisnais){$age=$age-1;}
 
echo "votre age est de $age ans" // Votre age est de 0 ans !!??
?>
totofe49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 18h04   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'as quelle version de PHP ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 18h16   #3
Futur Membre du Club
 
Inscription : mai 2007
Messages : 115
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 115
Points : 19
Points : 19
PHP 5.2.2
totofe49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 02h04   #4
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Salut

C'est relativement simple avec la fonction explode et avec une condition en fin de script.

Condition :
Si $age = 0

== >> Dans ce cas, tu utilises la fonction explode pour récupérer le mois de $ddn, et idem pour $DATEFRAN.
Tu connais donc la variable mois de l'utilisateur *** , et la variable du mois réel en cours.
Tu fais un petit savant calcul et c'est ok.

Sinon

==> Ton affichage actuel.

*** Quoique, je ne connais pas bcp d'utilisateurs de moins d'un an sur le web.
Boutade !
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 12h20   #5
Futur Membre du Club
 
Inscription : mai 2007
Messages : 115
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 115
Points : 19
Points : 19
ok merci pour votre aide.
C'est un calcul d'age pour des chevaux donc c'est jouable.
totofe49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h16.


 
 
 
 
Partenaires

Hébergement Web