leeftijd berekenen
Hallo,
hoe kan ik met onderstaand script laten uitrekenen hoe oud iemand is vandaag.
Tabel = general, structuur = ID | Name | Place | Birthday
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...
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
Gesponsorde koppelingen:
Google of zoekmachine op phphulp geprobeert?
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
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.
De gegevens uit de db halen en dan in een variable zetten en dan dit doen:
Zoiets..
Zoiets..
dus dan wordt het
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);
?>
Nee, w8 ff. Ik maak het wel ff
Toevoeging op 26/02/2011 18:34:58:
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
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
zou dat niet in 1 rij kunnen, want dat heb ik dus nu...
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?
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?
haal vars buiten quotes en denk om sql injection...
je bent een ) vergeten aan het einde
je bent een ) vergeten aan het einde
welke vars....
want hij blijft nu nog parse error aangeven, ) heb ik eraan toegevoegd...
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...
mysql_fetch_assoc($query)
moet je veranderen in
mysql_fetch_assoc($res)
moet je veranderen in
mysql_fetch_assoc($res)
ach stom, nu zie ik het idd...
dank je
even script testen
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 2 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
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
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
Heb je Birthday wel als DATE veld in je database staan (formaat YYYY-MM-DD).
Wat krijg je als je regel 26 verandert in:
echo 'dag: '.$rij['dag'].' maand: '.$rij['maand'].' jaar: '.$rij['jaar'];
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



