Avatar billede anan Nybegynder
24. januar 2007 - 17:09 Der er 15 kommentarer og
1 løsning

udregning af fødselsdag

hej allesammen. jeg har tænkt på hvordan man laver en der udregner ens år når man angiver dag, måned og år man er født i ..
så hvis man er født 14 august 1991 skal den udregne at man er 15 år. håber i kan hjælpe mig :)
Avatar billede dragothica Nybegynder
24. januar 2007 - 17:20 #1
Det er ikke så svært (:

<?php
  // Vi bruger dette format: 1991 08 14, År måned dag
  $foedselsdate = 19910814;
  $alder = substr(date("Ymd") - $foedselsdato, 0, 2);
  print $alder // Skriver 15
?>

Håber du kan bruge det (:
Avatar billede masik7 Nybegynder
24. januar 2007 - 17:31 #2
Jeg bruger denne funktion:
<?
function dato($j, $n, $y){
    if (date('n')<$n || (date('n')==$n && date('j')<$j)){
        $retur=date('Y')-$y-1;
    }
    else {
        $retur=date('Y')-$y;
    }
    return $retur;
}
?>

Og så kan man bare skrive print dato(14, 8, 1991);;
Avatar billede masik7 Nybegynder
24. januar 2007 - 17:31 #3
Hov - kun ét ';' :)
print dato(14, 8, 1991);
Avatar billede masik7 Nybegynder
24. januar 2007 - 17:34 #4
Dragothica's kode er jo kortere, men min gør, at man bare kan inkludere og så bare skrive print dato(14, 8, 1991);

Men Dragothica's kan man jo også lave til en funktion :).
Avatar billede dragothica Nybegynder
24. januar 2007 - 17:42 #5
<?php
  function alder($foedselsdato) {
      return substr(date("Ymd") - $foedselsdato, 0, 2);
  }
  print alder("19910814");
?>

Simpler can always be better ;)
Avatar billede anan Nybegynder
24. januar 2007 - 18:25 #6
ja men det jeg nu tænker på er at jeg har et brugersystem .. og der skal man så skrive sin fødselsdato dvs. dag, måned og år. og det er sådan den skal udregne ..

håber jeg har forklaret lidt bedre :b
Avatar billede jensgram Nybegynder
24. januar 2007 - 19:32 #7
Endnu et forslag:

print date('Y', (time() - mktime(0, 0, 0, 2, 8, 1984))) - 1970;

Hvor 2 er mnd, 8 er dag, 1984 er år, cf.  http://dk.php.net/mktime
Avatar billede masik7 Nybegynder
24. januar 2007 - 21:38 #8
Lidt li'som på http://emil.madsen-bennedsen.dk/ba.php. Den skal bare kun beregne alder?
Avatar billede anan Nybegynder
25. januar 2007 - 14:03 #9
ja næsten. men jeg vil bare have den til at sætte det ind i databasen så man kan hente det ud.
Avatar billede jensgram Nybegynder
25. januar 2007 - 15:52 #10
Vil du indsætte den udregnede alder i databasen? Jeg ville have indsat fødselsdatoen og så regnet ud i forespørgsler eller efter udtræk...
Avatar billede anan Nybegynder
25. januar 2007 - 15:54 #11
nej den skal ikke regne det ud og så sætte det i databasen.
den skal være sådan her som du siger det: Jeg ville have indsat fødselsdatoen og så regnet ud i forespørgsler eller efter udtræk...
Avatar billede jensgram Nybegynder
25. januar 2007 - 15:59 #12
Ok - så kan du jo evt bare hente ud (antager at det er MySQL):

$q = mysql_query('SELECT name, DAYOFMONTH(bday) AS d, MONTH(bday) AS m, YEAR(bday) AS y FROM ...');
while ($r = mysql_fetch_assoc($q)) {
    print $r['name'] . ' er ' . date('Y', (time() - mktime(0, 0, 0, $r['d'], ['m'], $r['y']))) - 1970;
}
Avatar billede jensgram Nybegynder
25. januar 2007 - 16:00 #13
hov - en lille svipser:

$q = mysql_query('SELECT name, DAYOFMONTH(bday) AS d, MONTH(bday) AS m, YEAR(bday) AS y FROM ...');
while ($r = mysql_fetch_assoc($q)) {
    print $r['name'] . ' er ' . date('Y', (time() - mktime(0, 0, 0, $r['d'], $r['m'], $r['y']))) - 1970;
}


Man kan uden tvivl også lave det som ren SQL, men det har jeg ikke lige mod på ;)
Avatar billede anan Nybegynder
25. januar 2007 - 18:04 #14
virker den? :b
Avatar billede jensgram Nybegynder
26. januar 2007 - 00:20 #15
Det ved jeg da ikke :)
Avatar billede anan Nybegynder
26. januar 2007 - 15:33 #16
hm ..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester