In mijn databasezien mijn records er zo uit
-10-11-2007
-12-02-2008
Nu wil ik een pagina maken waar alle datums opkomen die reeds voorbij zijn en degene die nog moeten komen.
Kan iemand me even helpen met de sql?
Als je datums zo in de database staan, dan hebben ze een verkeerd format. En zitten ze dus blijkbaar niet in een DATE of DATETIME veld. Dan heb je dus een probleem.
Het maakt niet uit hoe je het doet, als je maar zorgt dat de datum in het formaat yyyy-mm-dd in een DATE veld in de database gestopt wordt. Data in andere formaten dan dit ISO formaat zijn geen data en daar kan de database dus ook helemaal niets mee!
Ps. Mocht je MySQL gebruiken, dan zul je in PHP moeten controleren of de datum wel een datum is. Het formaat yyyy-mm-dd maakt namelijk nog geen datum, 2008-02-30 bestaat namelijk niet. checkdate() zal hier een error op geven, MySQL geeft standaard geen foutmeldingen op onmogelijke datums.
Nog een beetje uitleg over de verschillende queries: CURRENT_DATE() kijkt uitsluitend naar de datum, NOW() kijkt naar de datum en tijd, tot op de seconde nauwkeurig.