|
| kalkulere alder Fra : Andreas |
Dato : 21-06-02 10:09 |
|
Hei,
Har veldig liten erfaring med PHP, men håper noen kan hjelpe meg litt.
I en SQL database over medlemmer har jeg feltet "fodselsdato". Feltene vises
slik "1976-04-08". Hvordan kan jeg benytte dette feltet til å regne ut
alderen, slik at websiden viser alder i tillegg til fodselsdato?
På forhånd takk!
| |
Sune Fibæk (21-06-2002)
| Kommentar Fra : Sune Fibæk |
Dato : 21-06-02 11:36 |
|
Andreas wrote:
> Hei,
>
> Har veldig liten erfaring med PHP, men håper noen kan hjelpe meg litt.
> I en SQL database over medlemmer har jeg feltet "fodselsdato". Feltene
> vises slik "1976-04-08". Hvordan kan jeg benytte dette feltet til å regne
> ut alderen, slik at websiden viser alder i tillegg til fodselsdato?
> På forhånd takk!
Noget i retning af:
<?php
$dato="1976-04-08"; //under antagelse af at det er YYYYMMDD
$dato=explode("-",$dato);
$alder = (date(U)-mktime(0,0,0,$dato[1],$dato[2],$dato[0]))/(60*60*24*365);
echo "Du er $alder år gammel";
?>
burde kunne klare det. Du bør jo nok runde alderen ned eller noget i den
retning. F.eks. med floor. Du kan også bare vise alderen i sekunder :)
--
Mvh.
Sune Fibæk
| |
Ruben Hesselbæk (21-06-2002)
| Kommentar Fra : Ruben Hesselbæk |
Dato : 21-06-02 14:47 |
|
"Sune Fibæk" <oh-wonderful-spam@fibaek.dk> wrote in message
news:3d130f0f$0$246$ba624c82@nntp03.dk.telia.net...
> Andreas wrote:
>
> > Hei,
> >
> > Har veldig liten erfaring med PHP, men håper noen kan hjelpe meg litt.
> > I en SQL database over medlemmer har jeg feltet "fodselsdato". Feltene
> > vises slik "1976-04-08". Hvordan kan jeg benytte dette feltet til å
regne
> > ut alderen, slik at websiden viser alder i tillegg til fodselsdato?
> > På forhånd takk!
>
> Noget i retning af:
>
> <?php
> $dato="1976-04-08"; //under antagelse af at det er YYYYMMDD
> $dato=explode("-",$dato);
> $alder =
(date(U)-mktime(0,0,0,$dato[1],$dato[2],$dato[0]))/(60*60*24*365);
> echo "Du er $alder år gammel";
> ?>
>
> burde kunne klare det. Du bør jo nok runde alderen ned eller noget i den
> retning. F.eks. med floor. Du kan også bare vise alderen i sekunder :)
>
> --
>
> Mvh.
> Sune Fibæk
Du kan evt. også håndtere det hele igennem SQL
query = "select round((TO_DAYS(NOW())-TO_DAYS(fodselsdato))/365) as alder"
Så får du alderen i hele år.
Venlig hilsen
Ruben Hesselbæk
| |
Sune Fibæk (21-06-2002)
| Kommentar Fra : Sune Fibæk |
Dato : 21-06-02 18:08 |
|
Ruben Hesselbæk wrote:
> Du kan evt. også håndtere det hele igennem SQL
> query = "select round((TO_DAYS(NOW())-TO_DAYS(fodselsdato))/365) as alder"
> Så får du alderen i hele år.
Men det giver problemer når fødselsdatoen står på formen YYYY-MM-DD (med
bindestreger). Det er vel lagret som varchar (eller tilsvarende
tekststreng) i databasen, og så det giver ikke mening at lave beregninger
med tallene :)
>
> Venlig hilsen
> Ruben Hesselbæk
/Sune
| |
Søren Lund Jensen (21-06-2002)
| Kommentar Fra : Søren Lund Jensen |
Dato : 21-06-02 18:21 |
|
"Andreas" <nordrum@c2i.net> wrote in message
news:J2CQ8.319$Q12.9158@news4.ulv.nextra.no...
> Har veldig liten erfaring med PHP, men håper noen kan hjelpe meg litt.
> I en SQL database over medlemmer har jeg feltet "fodselsdato". Feltene
vises
> slik "1976-04-08". Hvordan kan jeg benytte dette feltet til å regne ut
> alderen, slik at websiden viser alder i tillegg til fodselsdato?
Hvis du har et felt i databasen, som er af typen date, kan du køre en
DATE_FORMAT på feltet og så kun bede om at få året ud. Herefter er det meget
nemt at regne alderen ud.
| |
Anders H. Jørgensen (23-06-2002)
| Kommentar Fra : Anders H. Jørgensen |
Dato : 23-06-02 00:13 |
|
On Fri, 21 Jun 2002 09:08:57 GMT, "Andreas" <nordrum@c2i.net> wrote:
>Hei,
>
>Har veldig liten erfaring med PHP, men håper noen kan hjelpe meg litt.
>I en SQL database over medlemmer har jeg feltet "fodselsdato". Feltene vises
>slik "1976-04-08". Hvordan kan jeg benytte dette feltet til å regne ut
>alderen, slik at websiden viser alder i tillegg til fodselsdato?
>På forhånd takk!
>
Sådan her har jeg løst nøjagtig samme "problem":
Her får du den nøjagtige "dynamiske" alder:
//Start med at splitte
//$Year2 = YY fra databasen eller en htmlform
//$mon2 = MM fra databasen...
//$day2 = DD fra databasen....
//altså
$birthday=("19".$year2.-$mon2.-$day2); //
function get_Age($birthday){
$today = getdate();
$month = $today['mon'];
$day = $today['mday'];
$year = $today['year'];
list ($byear, $bmonth, $bday) = split ('-', $birthday);
$rawage = $year-$byear;
if ($month < $bmonth)
{
$age = $rawage-1;
}
elseif
($month == $bmonth AND $day < $bday)
{
$age = $rawage-1;
}
elseif ($byear == 0)
{
$age = "Unknown";
}
else
{
$age = $rawage;
}
echo "Du er ".$age." år gammel";
}
| |
|
|