Bij het registreren op mijn website dienen gebruikers hun geboortedatum in te vullen. Deze wordt vervolgend in de database opgeslagen als "2005-01-01" in een veld van het type DATE.

Als ik deze datum later ophaal met de query:
SELECT UNIX_TIMESTAMP(birthday) AS birthday FROM members
en deze vervolgens weergeef met:

echo date("d-m-Y", $row['birthday']);

Dan staat er 31-12-2004.

Hoe komt dit?
Wat doe ik fout?
Hoe kan ik dit beter doen?

Alvast hartelijk bedankt voor de hulp.
Ja, ik had idd al gezien dat het veel makkelijker kan met DAY/MONTH/YEAR. Dit heb ik dan ook gebruikt.

Hartelijk bedankt voor de hulp
Of je doet wat Aad zegt gewoon in 1 keer...


<?php
$qry = "SELECT
			veld1,
			DATE_FORMAT(birthday,'%d-%m-%Y') AS datum,
			veld2,
			veld3
		FROM
			members";

# Foutafhandeling hier. Niet vergeten he!
?>
Milo S op 16/10/2010 13:58:28

Of je doet wat Aad zegt gewoon in 1 keer...

Nee, dat mag niet van Noppes. Je moet eerst je veld ophalen en dan lekker PHP gaan processen om het te presenteren. In 1x keer ophalen in de juiste presentatie is niet toegestaan en kennelijk ook te moeilijk.
@Aad, je weet er weer een aardige draai aan te geven. Het gaat om het feit dat jij een alias zet welke gelijk is aan een veld welke is opgenomen in de query. Dat kan leiden tot verkeerde resultaten.


Reageren