Leeftijd bepalen

Door Dutchcamel , 25 jaar geleden, 11.226x bekeken

Een simpele functie om de leeftijd te bepalen aan de hand van een geboortedatum. Voor zover ik gezien heb was die nog niet toegevoegd op de site. Sorry anders :)

Voorbeeld: http://

Gesponsorde koppelingen

PHP script bestanden

  1. leeftijd-bepalen

 

Er zijn 20 reacties op 'Leeftijd bepalen'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Joris van Rooij
Joris van Rooij
25 jaar geleden
 
0 +1 -0 -1
heb je dit ook op hokkers gebruikt dan? (waarom alles in het engels? phphulp.NL, doe het anders op zn mariahouts of zo..)
$bornToday = 'Ge bent vandoag gebore!';
Dutchcamel
dutchcamel
25 jaar geleden
 
0 +1 -0 -1
Niet op Hokkers gebruikt eigenlijk..zou ik nog wel es kunnen doen. En ik doe de functies enzo meestal in het engels omdat de standaardfuncties dat ook zijn. Werkt fijner vind ik :)


24 jaar geleden
 
0 +1 -0 -1
ik vind het in engels ook veel makkelijker :)


24 jaar geleden
 
0 +1 -0 -1
$ageOfPerson of .... $leeftijdvanpersoon ?¿?¿?¿


24 jaar geleden
 
0 +1 -0 -1
$ageOfPerson of .... $leeftijdvanpersoon ?¿?¿?¿


24 jaar geleden
 
0 +1 -0 -1
$ageOfPerson of .... $leeftijdvanpersoon ?¿?¿?¿


24 jaar geleden
 
0 +1 -0 -1
sorry pagina liep vast, heb een aantal keer op refresh geklikt :$


24 jaar geleden
 
0 +1 -0 -1
hehe, tom, what's your point???


24 jaar geleden
 
0 +1 -0 -1
makelijkste manier om te bepalen hoeveel jaar er tussen 2 data zit:
uitkomst= ABS(INT((tijdstip1- tijdstip2)/gemiddeld aantal dagen per jaar)).
Je moet dan wel weten met welke functie je 2 data van elkaar kan aftrekken, maar dat lukt wel op een of andere manier in alle programeertalen die ik ken.
Het gemiddeld aantal dagen per jaar is 365,239 aangezien er op 1000 jaar 239 schrikkeldagen zijn.
leeftijd= ABS(INT((vandaag - geboorte datum)/365,239))
!ABS= absolute waarde
!INT= integer of dus het gedeelte voor de komma (bvb ABS(25,999) = 25)


24 jaar geleden
 
0 +1 -0 -1
Ik heb een invision power board. Als ik wil dat er een minimum leeftijd is voor bezoekers en ik wil de leeftijd in elke post weergeven, wat moet ik dan doen?
Robert de Groot
Robert de Groot
24 jaar geleden
 
0 +1 -0 -1
Is het ook mogelijk om de geboorteDatum uit de database te lezen?
Ik heb een rij in de database genaamd Gebdatum waar alle geboorte datums instaan van personen. Nou zou ik graag zoiets willen dat hij de aanstaande datum/verjaardag uit de database leest. Dus bijvoorbeeld "Piet wordt 25 op 28 februari". Kan iemand mij daarmee helpen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$geboorteDatum
= '1984-12-01';
echo age($geboorteDatum);
?>
Doreen
Doreen
22 jaar geleden
 
0 +1 -0 -1
Hoe werkt het dan, je rekent het nu uit maar nu wordt de leeftijd berekent aan de hand van 2006. Maar iemand die jarig is op 11-01 wordt dus leeftijd plus 1.

Dus nu staat er bijvoorbeeld het volgende:
25-02-1983 = 23 jaar, maar dat is ie natuurlijk al maar moet dus 24 jaar. iemand suggesties hoe ik dat aan kan pakken?
Frisbee
Frisbee
22 jaar geleden
 
0 +1 -0 -1
Wanneer je een leeftijd uit de database haalt is het nog makkelijker om dit direct in MySql te doen.

Klik
Tjark
Tjark
21 jaar geleden
 
0 +1 -0 -1
Ik heb er ook een gemaakt met behulp van een formulier:
Ik kom alleen niet uit dat stukje in het oranje :(
voorbeeld op http://shrekko.my10gb.com/leeftijd.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if(!isset($check))
{

?>

<form name="form1" id="form1" method="post" action="">
<p>Dag:
<input name="dag" type="text" id="dag" size="5" maxlength="2" />
</select>
</p>
<p>Maand:
<select name="maand" id="maand">
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</p>
<p>Geboortejaar:
<input name="geboortejaar" type="text" id="geboortejaar" size="8" maxlength="4" />
</p>
<p>
<input name="check" type="submit" id="check" value="Check!" />
</p>
</form>
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
}
else
{
        
        if($_POST["dag"] == "")
            {

            $error .= "- Je bent vergeten je geboortedag in te vullen...<br />";
            }

        if($_POST["geboortejaar"] == "")
            {

            $error .= "- Je bent vergeten je geboortejaar in te vullen...<br />";
            }

        /*if(is_int($_POST["dag"]) == false)
            {
            $error .= "- Je moet voor je geboortedag een getal invullen...<br />";
            }
        if(is_int($_POST["geboortejaar"]) == false)
            {
            $error .= "- Je moet voor je geboortejaar een getal invullen...<br />";
            }*/

        else
            {
            $dag_nu = date(d);
            $maand_nu = date(m);
            $jaar_nu = date(Y);
            $leeftijd = ($jaar_nu - $geboortejaar);
            
                if($leeftijd < 0)
                {

                $error .= "- Je hebt een typefout gemaakt of je bent nog niet geboren...<br />";
                }

                else
                {
                }
            }

            if(!isset($error))
                {

                    
                    
                    if($maand_nu < $maand)
                        {

                        $leeftijd--;
                        }

                    elseif($maand_nu == $maand)
                        {

                            if($dag_nu < $dag)
                            {

                            $leeftijd--;
                            }

                            if($dag_nu == $dag)
                            {

                            echo "Gefeliciteerd met je verjaardag!<br />";
                            }

                            else
                            {
                            }
                        }

                        else
                        {
                        }

                echo "Jouw leeftijd is: ".$leeftijd."<br />";
                echo "<a href='javascript:history.back();' style='color: blue; text-decoration:none;'>Klik hier om terug te gaan!</a><br />";
                }

                else
                {
                echo "Er is iets fout gegaan om de volgende reden(en):<br /><br />";
                echo $error;
                echo "<br /><a href='javascript:history.back();' style='color: blue; text-decoration:none;'>Klik hier om terug te gaan!</a><br />";
                }
            
        
}


?>
Jan Koehoorn
Jan Koehoorn
21 jaar geleden
 
0 +1 -0 -1
Waarom zo moeilijk allemaal? Kan toch gewoon met MySQL:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT (YEAR(CURRENT_DATE()) - YEAR(geboortedatum))
 - IF(RIGHT(CURRENT_DATE(),5) < RIGHT(geboortedatum,5),1,0)
AS leeftijd
K i p
K i p
21 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
    (
        YEAR( CURRENT_DATE() ) - YEAR( geboortedatum )
    )
    -
    IF(
        RIGHT( CURRENT_DATE() , 5 ) < RIGHT( geboortedatum , 5 ) ,
            1 , 0
    )
AS
    leeftijd
Ik heb je SQL proberen in te laten springen om het voor mezelf duidelijker te maken, maar het lukt niet echt. Wat ik nog begrijp is: (heb het even met mijn eigen geboortedatum (18-05-1992, ben dus 14) 'getest')
•SELECT
je gaat iets selecteren
•YEAR ( NOW() ) - YEAR ( geboortedatum )
je selecteert het jaar nu min het jaar van de geboortedatum. Bijvoorbeeld 2007 - 1992. Hier komt 15 uit.
•IF ( … ) 1 of 0
Dan trek je hier 0 of 1 vanaf. 1 of 0 hangt af van…:
•RIGHT ( CURDATE() , 5 ) < RIGHT ( geboortedatum , 5 )
(Hangt af van…: ) of het ene kleiner is dan het andere. Het ene is (nu) 04-02 en het andere is in mijn geval 1992-05-18. De DB controleert dus of 04-02 < 05-18 ? Ziet er niet echt logisch uit, hoewel ieder mens het zal begrijpen. Maar is het wel netjes dan? Kan het niet netter of beter zo?

RIGHT ( DATE_FORMAT ( NOW() , '%Y%m%d' ) , 4 ) < RIGHT ( DATE_FORMAT( geboortedatum , '%Y%m%d' ) , 4 )
en dus meteen zo:
DATE_FORMAT ( NOW() , '%m%d' ) < DATE_FORMAT( geboortedatum , '%m%d' )
Winston Smith
Winston Smith
21 jaar geleden
 
0 +1 -0 -1
Boris, je begint me echt steeds meer te verbazen! _O_

Het lijkt wel of je....volwassen wordt! :|
Frank -
Frank -
21 jaar geleden
 
0 +1 -0 -1
In PostgreSQL gebruik je simpelweg de functie AGE():
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
select age('2007-04-02', '1957-06-13');
Jan geen
Jan geen
21 jaar geleden
 
0 +1 -0 -1
Maarja PostgreSQL is natuurlijk ook helemaal super geweldig...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
- Jim  -
- Jim -
18 jaar geleden
 
0 +1 -0 -1
Ik had dit eerder gedaan met MySQL en had het nu weer even nodig.
Ik had verwacht het hier ook wel snel en eenvoudig terug te vinden, maar nadat niet zo bleek en ergens weer opgehaald, en nu maar hier neerzetten om het ook met jullie te delen. :D
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$age_sql
= "
SELECT
 /* De volgende regel haalt de leeftijd. */
 TIMESTAMPDIFF(YEAR, `date_colum`, CURDATE()) age
FROM
 `table`
WHERE
 id = 1
;
"
;
?>


Veel plezier

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. leeftijd-bepalen

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.