geboorte datum om zetten naar leeftijd via mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel sauer

marcel sauer

12/02/2015 21:10:35
Quote Anchor link
hallo,

ik zie door de bomen het bos niet meer.
ik heb al gelezen hoe je het met php kan doen.
maar dit lijkt mij omslachtig als het ook met mysql kan.

alleen alles wat ik op vriend google gevonden heb kom ik niet uit.

ik zou graag een voorbeeld willen en nog veel liever de uitleg wat wat doet bij de code.
 
PHP hulp

PHP hulp

21/01/2022 12:08:47
 
- Ariën -
Beheerder

- Ariën -

12/02/2015 21:22:16
Quote Anchor link
Een DATETIME-type als veld gebruiken.
Verder kan je het ook converteren, maar dat hangt af van het formaat.
 
Marcel sauer

marcel sauer

12/02/2015 21:24:05
Quote Anchor link
ik heb in mijn database het formaat YYYYMMDD staan.
is er trouwens ergens een duidelijke site met ALLE mysql functies?

EDIT: waarom DATETIME???? DATE is genoeg toch?
Gewijzigd op 12/02/2015 21:28:30 door marcel sauer
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 21:37:42
Quote Anchor link
Een DATE of DATETIME werken allebei,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age FROM tablename;
Gewijzigd op 12/02/2015 21:39:07 door Frank Nietbelangrijk
 
Marcel sauer

marcel sauer

12/02/2015 21:48:03
Quote Anchor link
kan je deze regel wat meer vertalen voor mij?

als ik het goed begrijp staat er :

selecteer timestampdiff (selecteer het jaar van "birth" en van "datum nu") als age van tabel (in mijn geval user)

klopt dit?
 
- SanThe -

- SanThe -

12/02/2015 21:48:38
Quote Anchor link
@Frank: Ik geloof niet dat jouw antwoord correct is. Geboren in December geeft volgens mij dezelfde leeftijd als geboren in Januari.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 21:55:14
Quote Anchor link
- SanThe - op 12/02/2015 21:48:38:
@Frank: Ik geloof niet dat jouw antwoord correct is. Geboren in December geeft volgens mij dezelfde leeftijd als geboren in Januari.


Werkt als een zonnetje..

Toevoeging op 12/02/2015 21:56:44:

Komt overigens van de MySql website: http://dev.mysql.com/doc/refman/5.0/en/date-calculations.html
 
Marcel sauer

marcel sauer

12/02/2015 22:00:26
Quote Anchor link
maar kan er een uitleg gegeven worden van de code aub?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 22:16:32
Quote Anchor link
Wat snap je niet?

- 'birth' is de naam van de kolom die de geboortedatum heeft. Misschien is dat bij jou 'geboortedatum' of 'born'

Verder is het een gewone SELECT query. De leeftijd komt met een kolomnaam 'age'.

Je zou ook dit kunnen doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT voornaam, achternaam, woonplaats, TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age FROM tablename;


of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT *, TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age FROM tablename;




Toevoeging op 12/02/2015 22:19:39:

Het berekent met de mysql Date function TIMESTAMPDIFF het aantal jaren verschil uit tussen de datum van vandaag ( CURDATE() ) en de geboortedatum.
 
Marcel sauer

marcel sauer

12/02/2015 22:29:13
Quote Anchor link
Frank hier was ik al uit ja.

ik heb nu dit :

$result = mysql_query("SELECT birthday, CURDATE(), TIMESTAMPDIFF(YEAR, birthday, CURDATE()) AS age FROM user");

maar ik krijg bij de echo er niks uit.

bij gewoon gegevens ophalen wel.

(SELECT birthday FROM user)


alvast bedankt voor de uitleg van de regel.


ik neem aan dat je nu ook in plaats van normaal $row["birthday"] nu $row["age"] moet nemen toch?


EDIT : comma vergeten zie ik. Werkt nu wel!!!

houd de TIMESTAMPDIFF rekening met schrikkeljaren? en als ik het tot op de dag moet laten berekenen kan dat dan zo ?

$result = mysql_query("SELECT birthday, CURDATE() TIMESTAMPDIFF(YEAR, MONTH, DAY, birthday, CURDATE()) AS age FROM user");

Toevoeging op 12/02/2015 22:54:12:

heb hem net even uitgetest door de datum te veranderen naar vandaag daarna naar morgen met een ouder jaartal en het werkt!

super bedankt voor de hulp!
Gewijzigd op 12/02/2015 22:39:12 door marcel sauer
 



Overzicht Reageren

 
 

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.