Automatisk opdatere alder på hjemmesiden?
Jeg ved ikke hvor mange gange jeg har været nødt til at opdatere min hjemmeside manuelt når mine sønner har haft fødselsdag, jeg selv er blevet ældre eller konen er blevet et år skønnere...
Men så tænkte jeg... "Hvordan kan jeg slippe for at opdatere min hjemmeside med de trivielle ændringer..."
Hvorfor jeg udviklede et script til at køre hver gang siden loader, som så giver det nøjagtige antal år fra den givne dato.
Alderen er jo bare tal...
Man kan sige at en alder bare er tal... f.eks. min fødselsdag er den 25. februar 1972 - så ifølge YYYY-MM-DD vil det være 1972-02-25.
Hvis det så i dag var den 2010-02-26 ville det være fedt at have et script der bare kunne regne 2010 minus 1972 = 38. 2 minus 2 = 0. 26 minus 25 = 1. Hvilket vil sige min alder ville være 38 år, 0 måneder og 1 dag. Rundet ned (man runder ikke alder op har jeg ladet mig fortælle) = 38 år.
Scriptets udseende
Som det kan ses - er scriptet rigtigt simpelt:
<?PHP function findAge( $bornDate ) { list($Y,$m,$d) = explode("-",$bornDate); $aar = date("Y") - $Y; if(date("md") < $m.$d ) { $aar--; } return $aar; } ?>
Placering af scriptet
Funktionen skal skrives i f.eks en fil du inkluderer i alle dine scripts, eller det skal lægges i bunden af f.eks. en index.php. Det bør ikke lægges i to steder der måske kan gå i konflikt med hinanden - da det så vil skrive en fejl ala. følgende:
Fatal error: Cannot redeclare findage() (previously declared in /path/til/site.dk/test.php:2) in /path/til/site.dk/test2.php on line 17
Kald af script
For at kalde funktionen skal du bruge en syntax:
<?PHP echo findAge("1972-02-25"); ?>
Denne kan kaldes mange gange på en side.
It works