Hey allemaal,

Is het mogelijk om via MySQL een 1 te returnen als een datum voorbij is en 0 als de datum nog niet voorbij is?

Groet
Newb
Ja hoor. Met CASE/WHEN/THEN
Ik heb nu dit:


<?php
	$query = mysql_query("SELECT kijkcijfers.id,
								 kijkcijfers.kijkcijfer,
								 programma.programma,
								 DATE_FORMAT(programma.sluiting, '%e-%c-%Y %k:%s') as sluitingsdatum
						  IF programma.sluiting >= NOW()
						  	THEN
						  		RETURN geweest = 1
						  	ELSE
						  		RETURN geweest = 0
						  ENDIF
						  FROM kijkcijfers
						  LEFT JOIN
						  	programma
						  ON
						  	kijkcijfers.prog = programma.id
						  WHERE kijkcijfers.lid = ".$_SESSION['ingelogd']);
?>


Maar dan krijg ik:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE programma.sluiting WHEN >= NOW() THE' at line 5


Wat is de goede syntax?
IF(programma.sluiting >= NOW(), 1, 0) AS iets

<?php
    	$query = mysql_query("SELECT kijkcijfers.id,
								 kijkcijfers.kijkcijfer,
								 programma.programma,
								 DATE_FORMAT(programma.sluiting, '%e-%c-%Y %k:%s') as sluitingsdatum
						  IF(programma.sluiting >= NOW(), 1, 0) AS geweest
						  FROM kijkcijfers
						  LEFT JOIN
						  	programma
						  ON
						  	kijkcijfers.prog = programma.id
						  WHERE kijkcijfers.lid = ".$_SESSION['ingelogd']);
?>


geeft:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF(programma.sluiting >= NOW(), 1, 0) AS geweest FROM kijkcijfers ' at line 5
je moet wel gewoon een komma zetten na DATE_FORMAT(programma.sluiting, '%e-%c-%Y %k:%s') as sluitingsdatum
Dankje :-)

Op naar het volgende probleem

Reageren