Versio

leeftijd berekenen

Overzicht Reageren

Pagina: 1 2 volgende »

Christiaan de kleine

christiaan de kleine

26/02/2011 16:24:46
Quote Anchor link
Hallo,

hoe kan ik met onderstaand script laten uitrekenen hoe oud iemand is vandaag.
Tabel = general, structuur = ID | Name | Place | Birthday

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
<?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>';
    }
}

?>


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
 
PHP hulp

PHP hulp

25/05/2012 07:48:57
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Michael -

Michael -

26/02/2011 17:48:07
Quote Anchor link
Google of zoekmachine op phphulp geprobeert?
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
$datumnu
= date("Y,m,d");
function
leeftijd($dag,$maand,$jaar)
{

  global $datumnu;
  $leeftijd = date("Y") - $jaar;
  if(date("m") < $maand) {
    $leeftijd--;
  }

  elseif(date("m") == $maand && date("d") < $dag) {
    $leeftijd--;
  }

  return $leeftijd;
}

echo 'Jij bent '.leeftijd('01','01','1970').' jaar oud.';
?>

Ik had deze nog ergens staan, is al wel zeker 6 jaar oud, maar idee blijft 't zelfde.
 
Victor Php

Victor Php

26/02/2011 18:08:59
Quote Anchor link
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
<?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);
?>



Zoekwoord in phphulp zoekmachine: Leeftijd

-Edit-
Is van 2009 ;-)
Gewijzigd op 26/02/2011 18:20:38 door Victor Php
 
Christiaan de kleine

christiaan de kleine

26/02/2011 18:09:00
Quote Anchor link
hoe kan ik deze aanpassen zodat hij d.m.v. een input veldje de birthday waarde uit de database afleest.
 
Victor Php

Victor Php

26/02/2011 18:18:59
Quote Anchor link
De gegevens uit de db halen en dan in een variable zetten en dan dit doen:

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

echo leeftijd($dag, $maand, $jaar);

?>


Zoiets..
 
Christiaan de kleine

christiaan de kleine

26/02/2011 18:22:44
Quote Anchor link
dus dan wordt het
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
<?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);
?>
 
Victor Php

Victor Php

26/02/2011 18:28:49
Quote Anchor link
Nee, w8 ff. Ik maak het wel ff

Toevoeging op 26/02/2011 18:34:58:

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
<?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'].';
?>


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
 
Christiaan de kleine

christiaan de kleine

26/02/2011 18:38:33
Quote Anchor link
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?
 
Vincent Huisman

Vincent Huisman

26/02/2011 18:58:11
Quote Anchor link
haal vars buiten quotes en denk om sql injection...

je bent een ) vergeten aan het einde
 
Christiaan de kleine

christiaan de kleine

26/02/2011 19:02:12
Quote Anchor link
welke vars....

want hij blijft nu nog parse error aangeven, ) heb ik eraan toegevoegd...
 
Vincent Huisman

Vincent Huisman

26/02/2011 19:17:40
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo leeftijd($rij['dag'], $rij['maand'], $rij['jaar']);
?>
 
Christiaan de kleine

christiaan de kleine

26/02/2011 19:19:14
Quote Anchor link
hij werkt nu, maar is het ook mogelijk om het met 1 veld te doen, want dat heb ik namelijk officieel...
 
- SanThe -

- SanThe -

26/02/2011 19:20:25
 
Michael -

Michael -

26/02/2011 19:20:46
Quote Anchor link
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
<?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.';
?>

Ik gok dat dit wel moet werken. Typo's voorbehouden.
Gewijzigd op 27/02/2011 17:46:26 door Michael -
 
Christiaan de kleine

christiaan de kleine

27/02/2011 15:11:32
Quote Anchor link
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
<?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.';
?>

<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...
 
Victor Php

Victor Php

27/02/2011 15:16:52
Quote Anchor link
mysql_fetch_assoc($query)

moet je veranderen in

mysql_fetch_assoc($res)
 
Christiaan de kleine

christiaan de kleine

27/02/2011 15:18:30
Quote Anchor link
ach stom, nu zie ik het idd...

dank je

even script testen
 
Victor Php

Victor Php

27/02/2011 15:18:41
Quote Anchor link
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
<?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>
 
Christiaan de kleine

christiaan de kleine

27/02/2011 15:19:36
Quote Anchor link
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
 
Michael -

Michael -

27/02/2011 15:33:02
Quote Anchor link
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'];
 
Christiaan de kleine

christiaan de kleine

27/02/2011 15:35:37
Quote Anchor link
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
 

Pagina: 1 2 volgende »



Overzicht Reageren