Leeftijd bepalen
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
20 reacties op 'Leeftijd bepalen'
Gesponsorde koppelingen
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)
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)
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?
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?
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?
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?
Wanneer je een leeftijd uit de database haalt is het nog makkelijker om dit direct in MySql te doen.
Klik
Klik
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
<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>
Ik kom alleen niet uit dat stukje in het oranje :(
voorbeeld op http://shrekko.my10gb.com/leeftijd.php
<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)
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
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 />";
}
}
?>
}
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 />";
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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
(
YEAR( CURRENT_DATE() ) - YEAR( geboortedatum )
)
-
IF(
RIGHT( CURRENT_DATE() , 5 ) < RIGHT( geboortedatum , 5 ) ,
1 , 0
)
AS
leeftijd
•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
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' )
In PostgreSQL gebruik je simpelweg de functie AGE():
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
Veel plezier
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)
1
2
3
4
5
6
7
8
9
10
11
12
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
;
";
?>
$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.
- Details
Door:
Dutchcamel- 9 jaar geleden
- 2.284 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Overig
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu