Versio

Leeftijd

Overzicht Reageren

PHP Scripter

PHP Scripter

21/11/2011 15:35:46
Quote Anchor link
In de applicatie waar ik aan werk ben ik o.a. bezig met de leeftijden van de spelers. Ik wil kunnen selecteren op de leeftijd van een speler en zo dus een voorkeur van leeftijd instellen.

Het is natuurlijk niet zo moeilijk om de leeftijd te berekenen aan de hand van de geboortedatum, maar hoe schrijf ik dit weg? Ik kan het wel berekenen tijdens het toevoegen en wijzigen, maar als hij één jaar ouder wordt klopt dat niet meer. Ik wil het graag opslaan in de database om het wat makkelijker te maken, maar hoe?
 
PHP hulp

PHP hulp

25/05/2012 07:49:12
Gesponsorde koppelingen:
 
Tim Fendt

Tim Fendt

21/11/2011 15:41:40
Quote Anchor link
Maak een functie waarin je de geboortedatum gooit. En als die goed werkt hoef je alleen steeds de functie aan te roepen.

$leeftijd = berekenLeeftijd('11-12-1966');

-toevoeging-

als je de datum in de database hebt staan
Gewijzigd op 21/11/2011 15:43:02 door Tim Fendt
 
- Aar -

- Aar -

21/11/2011 15:41:59
Quote Anchor link
Waarom niet gewoon de geboortedatum in de database opslaan? Dan kan je aan de hand daarvan zelf de leeftijd uitrekenen.

Toevoeging op 21/11/2011 15:46:04:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function berekenLeeftijd($datum)
{

$split = explode("-",$datum)
   if( $split[0] <= date('d') && $split[1] <= date('m') )
    {

        $leeftijd = date('Y') - $split[2];
        return $leeftijd;
    }

    else
    {
        $leeftijd = date('Y') - $split[2] - 1;
        return $leeftijd;
    }
}

?>


Of nog deftiger, in SQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT('1985-08-13', '%Y')
- (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT('1985-08-13', '00-%m-%d')) AS leeftijd;
Gewijzigd op 21/11/2011 15:50:35 door - Aar -
 
PHP Scripter

PHP Scripter

21/11/2011 16:03:57
Quote Anchor link
Aar, de geboortedatum wordt al in de database opgeslagen in YYYY-MM-DD format. Bedankt voor de SQL, dat moet wel lukken!
 



Overzicht Reageren

Get Adobe Flash player