Calcul de l'age

Calcul de l'age - PHP - Programmation

Marsh Posté le 25-11-2007 à 16:13:41    

Bonjour,
 
Je calcul l'age avec cette fonction. Pour le mois courant, le calcul ne se fait pas. Merci de m'aider un peu.
 
 

Code :
  1. function calculer_age($naissance){// format de $naissance est aaaa-mm-jj
  2. global $age;
  3. $age_p = date('Y') - substr($naissance,0,4);
  4. $mois = substr($naissance, 5, 2);
  5. $jour = substr($naissance, 8, 2);
  6. if(date('m') < $mois){
  7. $age = $age_p-1;
  8. }
  9. if(date('m') == $mois AND date('d')< $jour){
  10. $age = $age_p-1;
  11. }
  12. if(date('m') > $mois){
  13. $age = $age_p;
  14. }
  15. return $age;
  16. }

Reply

Marsh Posté le 25-11-2007 à 16:13:41   

Reply

Marsh Posté le 25-11-2007 à 17:06:00    

fourniey a écrit :

Bonjour,

 

Je calcul l'age avec cette fonction. Pour le mois courant, le calcul ne se fait pas. Merci de m'aider un peu.

 


Code :
  1. function calculer_age($naissance){// format de $naissance est aaaa-mm-jj
  2. global $age;
  3. $age_p = date('Y') - substr($naissance,0,4);
  4. $mois = substr($naissance, 5, 2);
  5. $jour = substr($naissance, 8, 2);
  6. if(date('m') < $mois){
  7. $age = $age_p-1;
  8. }
  9. if(date('m') == $mois AND date('d')< $jour){
  10. $age = $age_p-1;
  11. }
  12. if(date('m') > $mois){
  13. $age = $age_p;
  14. }
  15. return $age;
  16. }


 

J'ai plus simple comme fonction :

 
Code :
  1. function calculer_age($naissance) { // $naissance est au format aaaa-mm-jj
  2. $valeurs = explode('-',$naissance);
  3. $timeStampNaissance = mktime(0, 0, 0, $valeurs[1], $valeurs[2], $valeurs[0]);
  4. $timeStampAge = time() - $timeStampNaissance;
  5. if($timeStampAge < 0) return 'Vous êtes pas encore né';
  6. else return floor($timeStampAge/31556926);
  7. }
 

Pas testé mais aucune raison que ca marche pas

 

EDIT : Faudra quand même que tu m'expliques pourquoi tu global la variable que tu retournes ? [:mlc]

 

EDIT 2 : Testé, corrigé, ca fonctionne :jap:


Message édité par WiiDS le 25-11-2007 à 20:50:13

---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 17:57:51    

Merci,
 
j'avais mis ma variable global pour l'affichage plus loin.
 
Comment je récupère la variable retournée ?


Message édité par fourniey le 25-11-2007 à 18:00:09
Reply

Marsh Posté le 25-11-2007 à 18:41:40    

$var = calculer_age($age);


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 18:52:29    

Peu importe la date de naissance, le résultat retourné est 37.

Reply

Marsh Posté le 25-11-2007 à 20:28:16    

Sur ma fonction ?


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 20:42:00    

oui

Reply

Marsh Posté le 25-11-2007 à 20:49:52    

Pas chez moi :/
 
echo calculer_age('1907-10-30').' ans';
 
// retourne 100 ans
 
echo calculer_age('1982-10-30').' ans';
 
// retourne 25 ans


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 22:30:11    

je ne comprend pas, j'ai vérifié la date de naissance et elle respect le format AAAA-MM-JJ.

Reply

Marsh Posté le 25-11-2007 à 22:41:53    

Donnes moi un code d'exemple qui retourne 37 ans ? :)


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 22:41:53   

Reply

Marsh Posté le 25-11-2007 à 22:56:28    

les timestamp deconnent en php4 si on a des valeur negatives ( pour rappelle le 0 en timestamp , c'est le 1 janvier 1970 )

Reply

Marsh Posté le 25-11-2007 à 22:58:14    

flo850 a écrit :

les timestamp deconnent en php4 si on a des valeur negatives ( pour rappelle le 0 en timestamp , c'est le 1 janvier 1970 )


Ok je vois :/
 
Tant que ca marche sous PHP5 :o


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 23:06:46    

Dommage, notre hébergeur est donc en php4.

Reply

Marsh Posté le 25-11-2007 à 23:15:46    

fourniey a écrit :

Dommage, notre hébergeur est donc en php4.


Squoi ton hébergeur ?


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 23:18:13    

Je suis au Québec et je ne sais pas le nom de l'hébergeur depuis qu'ils ont vendu.
 
Ils utilisent plesk.

Reply

Marsh Posté le 25-11-2007 à 23:19:42    

Mouarf :/


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 23:31:15    

Pas le choix, c'est vraiment pas cher pour ce qu'on nous donne.

Reply

Marsh Posté le 25-11-2007 à 23:35:42    

Donc faut faire un bon gros if elseif bourrin :o


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
Reply

Marsh Posté le 25-11-2007 à 23:41:29    

C'Est ce que je viens de faire.
 
J'ai aussi envoyé un courriel pour savoir quand on va utiliser php5.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed