Ik wil activiteiten uit m'n mysql database selecteren vanaf 'vandaag'. Daarvoor heb ik de volgende query geschreven (met behulp van de mysql manual:


<?php
 ...
 // Activiteiten weergeven
  unset($dag);
   $dag = date('j');
   $dag_z = date('d');
  unset($maand);
   $maand = date('n');
   $maand_z = date('m');
  unset($jaar);
   $jaar = date('Y');

  $querybis="SELECT * FROM agenda WHERE date >= DATE_FORMAT('".$dag_z."-".$maand_z."-".$jaar."','%e %c %Y') and genre='activiteit' ORDER BY date DESC LIMIT 5";
 ...
?>


date veld in tabel 'j/n/Y'

Ik krijg alleen geen resultaat, weet iemand waarom niet?
@ Karl
alles netjes in de database gestopt in een 'datumveld' met de volgende code:


<?php
	if($_GET['action'] == "do") {
		$querybis="SELECT id,date,datumveld FROM agenda";
		$resultbis=mysql_query($querybis) or die(mysql_error());
		
		while($rowbis = mysql_fetch_array($resultbis)) {
			$sql = "UPDATE agenda SET `datumveld` = '".$_POST['datumveldinvoer_'.$rowbis['id'].'']."' WHERE `id` = '".$rowbis['id']."'";
			$query = mysql_query($sql);
				if($query == TRUE) {
					echo "Query ".$rowbis['id']."succesvol<br>\n";
				}else{
					echo "Query niet succesvol<br><br>";
					echo mysql_error();
				}
		}
	}else{
		// Weergeven formulier
			$querybis="SELECT id,date,datumveld FROM agenda";
			$resultbis=mysql_query($querybis) or die(mysql_error());
			
			echo "<form method=\"post\" border=\"0\" cellspacing=\"0\" action=\"ingelogd.php?pagina=fast&action=do\">";
			echo "<table>\n";	
				while ($rowbis = mysql_fetch_array($resultbis)) {
					$datum = $rowbis ['date'];
						$datum_dag = substr($datum, 0, 2);
							if(substr($datum_dag, -1) == "/") {
								// 0/
								$dag = "0".substr($datum_dag, 0, 1);
									$datum_maand =	substr($datum, 2, 2);
										if(substr($datum_maand, -1) == "/") {
											// 0/
											$maand = "0".substr($datum_maand, 0, 1);
										}else{
											// 00/
											$maand = $datum_maand;
										}
							}else{
								// 00/
								$dag = $datum_dag;
									$datum_maand = substr($datum, 3, 2);
										if(substr($datum_maand, -1) == "/") {
											// 0/
											$maand = "0".substr($datum_maand, 0, 1);
										}else{
											// 00/
											$maand = $datum_maand;
										}
							}
							$jaar = substr($datum, -4);

					echo "	<tr>\n";
					echo "		<td>";
					echo "			".$rowbis['date'];
					echo "		</td>\n";
					echo "		<td><input type=\"text\" name=\"datumveldinvoer_".$rowbis['id']."\" size=\"20\" value=\"".$jaar."-".$maand."-".$dag."\"></td>\n";
					echo "	</tr>\n";	
				}
				echo "	<tr><td>&nbsp;</td><td><input class=\"inputbutton\" type=\"submit\" name=\"submit\" value=\"Wijzigen\"></tr>\n";
			echo "</table>\n";
			echo "</form>\n";
	}	
?>


ik kom alleen nog niet uit met de query:


$querybis="SELECT * FROM agenda WHERE datumveld > NOW() ORDER BY datumveld ASC LIMIT 5";

geeft wat ik nodig heb, alleen niet met de datum in de juiste volgorde.

Nu dacht ik de datum mooi weer te geven met

$querybis="SELECT DATE_FORMAT('NOW()',GET_FORMAT(DATE,'EUR')) AS datumveld FROM agenda WHERE datumveld > NOW() ORDER BY datumveld ASC LIMIT 5";

maar dat werkt helaas niet (zoals SanThe al zei?).

Ik snap alleen niet wat ik moet doen om de datum wel in dd-mm-YYYY weer te laten geven.
<?php
$querybis="SELECT DATE_FORMAT(datumveld ,'%e %c %Y') AS formatdatum FROM agenda WHERE datumveld > NOW() ORDER BY datumveld ASC LIMIT 5";
?>
En dan ophalen met $xxxxx['formatdatum']

Reageren