Bonjour a tous ,
Je suis en BTSig 2ème année développeur et je recherche une fonction. En effet, Je voudrais obtenir l'âge de quelqu'un en entrant sa date de naissance.
J'espère que vous pourrez m'aider.
Merci d'avance
<?
/* --------------------------------------------------------------
FONCTION EstBissextile POUR SAVOIR SI L'ANNEE EST BISSEXTILE
-------------------------------------------------------------- */
function EstBissextile($annee) // RETOURNE 1 SI L'ANNEE EST BISSEXTILE
{
if($annee%4 == 0 AND $annee%100 != 0 OR $annee%400 == 0)
$bissextile = 1;
else
$bissextile = 0;
return $bissextile;
}
/* --------------------------------------------------------------
FONCTION PRINCIPALE (RETOUNE L'AGE)
-------------------------------------------------------------- */
function AgeJours($jour,$mois,$annee) // RETOURNE L'AGE (ans/mois et en jours) EN UTILISANT LE JOUR/MOIS/ANNEE DE LA DATE DE NAISSANCE
{
$age_en_jours = 0;
$annee_actuelle = date('Y');
$mois_actuel = date('m');
$jour_actuel = date('j');
$num_jour_actuel = date('z');
$nbr_annees = $annee_actuelle - $annee;
// On crée "timestamp_anniversaire" pour connaitre le numéro du jour de l'anniversaire
if(EstBissextile($annee))
{
$timestamp_anniversaire = mktime(0, 0, 0, $mois, $jour, 1996); // 1996 est bissextile
$nbr_jour_annee = 366;
}
else
{
$timestamp_anniversaire = mktime(0, 0, 0, $mois, $jour, 1997); // 1997 n'est pas bissextile
$nbr_jours_annee = 365;
}
$num_jour_anniv = date('z',$timestamp_anniversaire); // Numéro du jour de la naissance
if($mois > $mois_actuel) // On ne prend pas en compte l'année en cours
{
$nbr_annees--;
if($jour > $jour_actuel) // Un mois en moins
$nbr_mois = 12 - ($mois - $mois_actuel) - 1;
else
$nbr_mois = 12 - ($mois - $mois_actuel);
}
elseif($mois < $mois_actuel) // On prend en compte l'année actuelle
{
$nbr_mois = $mois_actuel - $mois;
if($jour > $jour_actuel) // Un mois en moins
$nbr_mois--;
}
elseif($mois == $mois_actuel) // On vérifie le jour du mois
{
if($jour > $jour_actuel) // On ne prend pas en compte l'année en cours
{
$nbr_annees--;
$nbr_mois = 11;
}
else
$nbr_mois = 0;
}
$age_en_jours += ($nbr_jours_annee - $num_jour_anniv + $num_jour_actuel)%$nbr_jours_annee;
for($i = 0 ; $i < $nbr_annees ; $i++)
{
$annee_i = $annee+$i;
if(EstBissextile($annee_i))
$age_en_jours += 366;
else
$age_en_jours += 365;
}
$age = $nbr_annees.' ans et '.$nbr_mois.' mois ('.$age_en_jours.' jours)';
return $age;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>calcule age</title> </head> <body> Saisissez Votre date de naissance: <form method="GET"> <select name="Jour" style="width: 56px"> <option value="0" selected="">Jour</option> <? for ( $i = 1; $i<=31 ; $i++){ echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select><select name="Mois" style="height: 23px"> <option value="0" selected="">Mois</option> <option value="1">Janvier</option> <option value="2">Février</option> <option value="3">Mars</option> <option value="4">Avril</option> <option value="5">Mai</option> <option value="6">Juin</option> <option value="7">Juillet</option> <option value="8">Août</option> <option value="9">Septembre</option> <option value="10">Octobre</option> <option value="11">Novembre</option> <option value="12">Décembre</option> </select><select name="Annee"> <option value="0" selected="" >Année</option> <? $annee = date("Y"); for ( $i = 1900; $i<=$annee; $i++){ echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select> <button name="calculer">Calculer</button></form> <? include 'functions.php'; if(isset($_GET['calculer'])){ $age = AgeJours($_GET['Jour'],$_GET['Mois'],$_GET['Annee']); echo 'Votre age est : '.$age; } ?> </body> </html>
$age = $nbr_annees.' ans et '.$nbr_mois.' mois ('.$age_en_jours.' jours)'; par
$age = $nbr_annees.' ans ';
<td style="height: 27px; width: 135px;">Date Naissance</td>
<td style="height: 27px"><select name="Jour" style="width: 56px">
<option value="0" selected="">Jour</option>
<?
for ( $i = 1; $i<=31 ; $i++){
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select> /<select name="Mois" style="height: 23px">
<option value="0" selected="">Mois</option>
<option value="1">Janvier</option>
<option value="2">Février</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
<option value="5">Mai</option>
<option value="6">Juin</option>
<option value="7">Juillet</option>
<option value="8">Août</option>
<option value="9">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Décembre</option>
</select> /<select name="Annee">
<option value="0" selected="" >Année</option>
<?
$annee = date("Y");
for ( $i = 1980; $i<=$annee; $i++){
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select></td>
include '../includes/fonctions.php';qui contient la fonction ci-dessus de calcule d'age
$age = AgeJours($_POST['Jour'],$_POST['Mois'],$_POST['Annee']);et je stock la date de naissance dans la base de donnée comme celà
$naisance = $_POST['Jour']."/".$_POST['Mois']."/".$_POST['Annee'];
//des valeurs obtenus de la base de donnée
connexion;
$sql = "select `date` from `Membre` where `membre_id` = '5'"; // juste exemple
$result = mysql_query($sql)
while($row = mysql_fetch_array($result))
$DateNaissance = $row[0];//prendre le premier parametre de la requete sql, les parametre requete sql commence par 0,1,2..
//exemple:
$DateNaissance = "17-11-1985"; // date de mon naissance :d
$date = explode("-", $DateNaissance);
//on va avoir trois variable, par ce que la fonction explode return un tableau à ce qu'on a voulu limiter
echo $date[0]; // il nous affichera 17
echo $date[1]; // il nous affichera 11
echo $date[2]; // il nous affichera 1985
// ou bien
$Date($Jour,$Mois,$Annee) = explode("-", $DateNaissance);
echo $Jour; // il nous affichera 17
echo $Mois; // il nous affichera 11
echo $Annee; // il nous affichera 1985
//et on l'applique dans notre fonction comme ça
$age = AgeJours($date[0],$date[1],$date[2]);
//et là si on affiche $age
echo "Votre age est: ".$age." ans"; // Votre age est 21 ans
$str = 'un|deux|trois|quatre';
// limite positive
print_r(explode('|', $str, 2));
// limite négative (depuis PHP 5.1)
print_r(explode('|', $str, -1));
$string = "";
$numbers = explode(",", $string);
$est_bissextile = date('L',mktime(0, 0, 0, 0, 0, 2000));
function estBissextile(annee){
if(annee%4 == 0 && annee%100 != 0 || annee%400 == 0){
bissextile = true;
}else{
bissextile = false;
}
return bissextile;
}
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997)); // Jan-1-1998
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997)); // Jan-1-1998
echo date("d-Y", mktime(0, 0, 0, 1, 1, 1998)); // 1-1998
echo date("Y", mktime(0, 0, 0, 1, 1, 98)); // 1998 : on peut la remplacer à la place de $annee;
?>
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.
Hahaha !!!
Et voila maintenant le scriiiiiiiiiiiiiiipppppppptttttttttttt :
tadaaaaaaaaaaaaaaaaaa :
// Date d'aujourd'hui $jour = date("d",time()); $mois = date("m",time()); $annee = date("Y",time()); // Détermination de l'âge $age = $row['age']; // j'ai récupéré avant les infos MySQL (doivent etre dans ce format jj/mm/aaaa ) $age = explode("/", $age); if ($jour >= $age[0] and $mois = $age[1] or $mois > $age[1]) { $age = $annee - $age[2]; } else { $age = $annee - $age[2] - 1; }Et la PAN tu affiche $age ! ^^
ça marche!!
Merci beaucoup!