Ik haal een datum uit mijn mysql database, namelijk datum, '%d/%m/%Y'
Nu wil echter weten op welke dag die valt want dat wil ik op het scherm laten zien.
Nu heb ik gewoon 10/10/2007, ik wil straks bijv Woensdag 10/10/2007

Iemand een ideetje?
[php]date[/php]('D',timestamp van de datum)
Nee, doe gewoon lekker alles met de database. In het engels is het vrij eenvoudig:

SELECT
    DATE_FORMAT(datumveld, '%W %d/%m/%Y') AS datum
FROM
    tabel

In het Nederlands is het iets lastiger aangezien je natuurlijk wel de Nederlandse naam van de weekdagen wilt. Maar met gebruik van ELT() en CONCAT() is dit redelijk eenvoudig op te lossen:

SELECT
	CONCAT(
	    ELT(
	    	DAYOFWEEK(datumveld), 
	    	'Zondag', 
	    	'Maandag',
	    	'Dinsdag',
	    	'Woensdag',
	    	'Donderdag',
	    	'Vrijdag',
	    	'Zaterdag'
	    ),
	    ' ',
	    DATE_FORMAT(datumveld, '%d/%m/%Y')
	) AS dag_datum
FROM
	tabel
@Michael

Met zo'n query:
SELECT ELT((WEEKDAY(datum),
'maandag','dinsdag','woensdag','donderdag','vrijdag',
'zaterdag','zondag') AS weekdag

Met $row['weekdag'] moet je de gegevens dan op kunnen halen.
@Robert: met WEEKDAY() zal het niet werken. Deze geeft namelijk de index 0 in het geval van maandag terwijl ELT() de maandag aan index 1 koppelt.
@Blanche

En als je dan WEEKDAY(datum)+1, doet?
Robert_Deiman schreef op 28.09.2007 15:14
@Blanche

En als je dan WEEKDAY(datum)+1, doet?
Dat werkt, maar is volkomen overbodig wanneer je de juiste functie gebruikt.

Lapmiddelen gebruik je pas als er geen betere oplossingen voor handen zijn.
Tja, op die manier is er altijd wel een oplossing te vinden. Maar waarom niet gewoon een functie gebruiken die uit zichzelf al werkt zonder daar nog iets aan toe te hoeven voegen?
Neej, ik was gewoon benieuwd, omdat ik nog wel wist dat er iets met CONCAT() was en daar had ik op gezocht. Ik kwam bovenstaande oplossing tegen, dus vandaar dat ik het even check :)

Reageren