M Melea Medlem sedan juli 2003 3 147 inlägg Frågan 22 dec. 2003 18:01 #1 Hejhej wF!
Har en liten funktion som räknar ut hur gammal man är, skulle vilja utveckla den så den säger till den dagen när personen i fråga fyller år men får inte riktigt koll på det, så här ser 'grundkoden' ut...
<?
$birthday = $objRS[year]."-".$objRS[month]."-".$objRS[day];
list($Y,$M,$D)=split("-",date("Y-m-d", strtotime("now")));
list($y,$m,$d)=split("-",date("Y-m-d", strtotime("$birthday")));
$age=(($M<$m)||(($M==$m)&&($D<=$d)))?($Y-$y-1):($Y-$y);
echo $age;
?>
Några direkta förslag?
Tack på förhand!
Mvh
W Webslave Medlem sedan maj 2002 647 inlägg Denna använder jag (hittad på wF ;) ) Och den funkar hur bra som helst.
<?PHP
$b_year = årtalet;
$b_month = månaden;
$b_day = dagen;
$time = getdate(time());
$n_year = $time['year'];
$n_timestamp = time();
//This year birthday:
$b_timestamp = mktime(0,0,0,$b_month,$b_day,$n_year);
//Calculate age:
$age = $n_year - $b_year;
$age--;
if($n_timestamp >= $b_timestamp) {
$age++;
}
?>
M Melea Medlem sedan juli 2003 3 147 inlägg Jo den där koden ger i stort sett samma resultat som min.. kanske förklarade dåligt men jag vill att den ska hojta till när $b_day = date(now());
Den ska alltså skriva ut "Grattis" efter ens ålder om man fyller år på nuvarande datum.
Go'Jul :)
Mvh
Matte Medlem sedan aug. 2000 2 975 inlägg Hur har du lagrat månad och dag har du med inledande nolla ?
Om du har det och årtalet med fyra siffror så borde detta funka:
$birthday = $objRS[year]."-".$objRS[month]."-".$objRS[day];
if $birthday == date("Y-m-d") {
echo 'Grattis !';
}
M Melea Medlem sedan juli 2003 3 147 inlägg Nej, nu måste jag ju fylla år IDAG, alltså vara född idag, annars funkar inte den if-satsen.
M Melea Medlem sedan juli 2003 3 147 inlägg Fixade till den lite. Såhär ser koden ut i dagsläget:
<?
$b_year = $objRS[year];
$b_month = $objRS[month];
$b_day = $objRS[day];
$b_all = $objRS[month]."-".$objRS[day];
$time = getdate(time());
$n_year = $time['year'];
$n_timestamp = time();
//This year birthday:
$b_timestamp = mktime(0,0,0,$b_month,$b_day,$n_year);
//Calculate age:
$age = $n_year - $b_year;
$age--;
if($n_timestamp >= $b_timestamp) {
$age++;
}
if ($b_all <> date("m-d")) {
echo $age;
}
if ($b_all == date("m-d")) {
echo " ".$objRS['username']." fyller ".$age." år idag! <b>Grattis!!</b>";
}
?>
Tack o Go'Jul! Älskar wF ;)