leeftijd berekenen
hoe kan ik met onderstaand script laten uitrekenen hoe oud iemand is vandaag.
Tabel = general, structuur = ID | Name | Place | Birthday
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
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
<?php
include ("/includes/connect.php");
$sql = "
SELECT
Name,
YEAR(CURDATE()) - YEAR(Birthday) AS leeftijd
FROM
general
WHERE
MONTH(Birthday) = MONTH(CURDATE())
AND
DAYOFMONTH(Birthday) = DAYOFMONTH(CURDATE())
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
else
{
while($row = mysql_fetch_assoc($res))
{
echo '<p>'.$row['Name'].' is vandaag '.$row['leeftijd'].' jaar geworden!</p>';
}
}
?>
include ("/includes/connect.php");
$sql = "
SELECT
Name,
YEAR(CURDATE()) - YEAR(Birthday) AS leeftijd
FROM
general
WHERE
MONTH(Birthday) = MONTH(CURDATE())
AND
DAYOFMONTH(Birthday) = DAYOFMONTH(CURDATE())
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error());
}
else
{
while($row = mysql_fetch_assoc($res))
{
echo '<p>'.$row['Name'].' is vandaag '.$row['leeftijd'].' jaar geworden!</p>';
}
}
?>
Nu is het zo dat als iemand vandaag jarig is dat ie dan weergeeft hoe oud hij/zij is,maar ik wil dus dat hij van iedereen aangeeft hoe oud die vandaag is...
Gewijzigd op 26/02/2011 16:38:58 door Christiaan de kleine
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ik had deze nog ergens staan, is al wel zeker 6 jaar oud, maar idee blijft 't zelfde.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd(27, 07, 1993);
?>
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd(27, 07, 1993);
?>
Zoekwoord in phphulp zoekmachine: Leeftijd
-Edit-
Is van 2009 ;-)
Gewijzigd op 26/02/2011 18:20:38 door Victor Php
hoe kan ik deze aanpassen zodat hij d.m.v. een input veldje de birthday waarde uit de database afleest.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include ("/includes/connect.php");
$name = $_POST['name'];
$query = mysql_query("SELECT Birthday FROM general WHERE Name = '$name' ");
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd($dag, $maand, $jaar);
?>
include ("/includes/connect.php");
$name = $_POST['name'];
$query = mysql_query("SELECT Birthday FROM general WHERE Name = '$name' ");
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd($dag, $maand, $jaar);
?>
Toevoeging op 26/02/2011 18:34:58:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
include ("/includes/connect.php");
$name = $_POST['name'];
$query = mysql_query("SELECT Birthday FROM general WHERE Name = '$name' ");
while($rij = mysql_fetch_assoc($query)){
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd('.$rij['dag'].''.$rij['maand'].''.$rij['jaar'].';
?>
// Leeftijd functie aanmaken
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
include ("/includes/connect.php");
$name = $_POST['name'];
$query = mysql_query("SELECT Birthday FROM general WHERE Name = '$name' ");
while($rij = mysql_fetch_assoc($query)){
// De functie roep je zo aan: dag, maand, jaar
echo leeftijd('.$rij['dag'].''.$rij['maand'].''.$rij['jaar'].';
?>
Toevoeging op 26/02/2011 18:35:41:
Ik weet niet hoe je database in elkaar zit, maar je moet 3 tabellen hebben:
dag, maand, jaar
heb al wel de functie explode gezien maar weet niet hoe toe te passen
$name = $_POST['Iname'];
$SQL = mysql_query("SELECT * FROM general WHERE Name = '$name' ");
while ($row1 = mysql_fetch_assoc($SQL)) {
$inputdatum = $row1['Birthday'];
}
$datum = explode( '-' , $inputdatum );
$mysqldate = $datum[2].'-'.$datum[1].'-'.$datum[0];
# echo $datum[2]. "<br>"; //Year
# echo $datum[1]. "<br>"; //Month
# echo $datum[0]. "<br>"; //Day
Toevoeging op 26/02/2011 18:55:16:
hij geeft een parse error aan op regel 23
echo leeftijd('.$rij['dag'].''.$rij['maand'].''.$rij['jaar'].';
Toevoeging op 26/02/2011 18:56:07:
met enkel de code van victor
maar hoe kan ik mijn deel code erbij voegen zodat ik maar 1 veld nodig heb?
je bent een ) vergeten aan het einde
want hij blijft nu nog parse error aangeven, ) heb ik eraan toegevoegd...
hij werkt nu, maar is het ook mogelijk om het met 1 veld te doen, want dat heb ik namelijk officieel...
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
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
<?php
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".mysql_real_escape_string($_POST['name'])."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($res))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".mysql_real_escape_string($_POST['name'])."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($res))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
Ik gok dat dit wel moet werken. Typo's voorbehouden.
Gewijzigd op 27/02/2011 17:46:26 door Michael -
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
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
<?php
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".$_POST['name']."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($query))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".$_POST['name']."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($query))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
<form method="post" action="ageing.php">
Name: <input name="name" type="text"> <input type="submit" value="Go"></form>
is mijn huidige script met dank aan verscheidende mensen hiero, maar nu geeft hij een foutmelding, mysql_fetch_assoc verwacht een 1 en die krijgt ie niet... waar zit het probleempje...
moet je veranderen in
mysql_fetch_assoc($res)
dank je
even script testen
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
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
<?php
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".$_POST['name']."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($res))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
<form method="post" action="ageing.php">
Name: <input name="name" type="text"> <input type="submit" value="Go"></form>
include ("/includes/connect.php");
function leeftijd ($dag, $maand, $jaar) {
$leeftijd = date('Y') - $jaar;
$maand2 = date('m') - $maand;
if ($maand2 < 0) {
$leeftijd = $leeftijd - 1;
} elseif ($maand2 == 0) {
if (date('d') < $dag) {
$leeftijd = $leeftijd - 1;
}
}
return $leeftijd;
}
$query = "SELECT DAY(Birthday) as dag, MONTH(Birthday) as maand, YEAR(Birthday) as jaar FROM general WHERE Name = '".$_POST['name']."'";
$res = mysql_query($query);
if($res)
{
if(mysql_num_rows($res) >= 1)
{
while($rij = mysql_fetch_assoc($res))
{
echo 'Jij bent '.leeftijd($rij['dag'].','.$rij['maand'].','.$rij['jaar']).' jaar oud.';
}
}
else
echo 'Niet gevonden.';
}
else
echo 'Fout opgetreden.';
?>
<form method="post" action="ageing.php">
Name: <input name="name" type="text"> <input type="submit" value="Go"></form>
Warning: Missing argument 3 for leeftijd(), called in C:\xampplite\htdocs\medical\ageing.php on line 26 and defined in C:\xampplite\htdocs\medical\ageing.php on line 4
dat zijn de huidige foutmelden
Wat krijg je als je regel 26 verandert in:
echo 'dag: '.$rij['dag'].' maand: '.$rij['maand'].' jaar: '.$rij['jaar'];
hij geeft nu weer welke dag, maand en jaar je jarig bent... maar mijn bedoeling was dat ie aangaf hoe oud je was.. dus Jij bent .. jaar ioud