Ik ben bezig met een website en nu wil ik dat hij aangeeft wat het eerst volgende evenement is.

Dus bijv: Aankomende zondag Clubduik

Heb geprobeerd met het volgende:
"SELECT * FROM website_activiteiten WHERE Datum >= CURDATE() ORDER BY Datum LIMIT 1";

Me Datum is DATETIME

Als ik dit gebruikt pakt hij een willekeurige dag op de 1 of andere manier ik heb het ook geprobeerd met NOW()

Kan iemand mij helpen?

Gr. Mark

[size=xsmall]Toevoeging op 31/03/2014 21:36:31:[/size]

Heb nu het volgende geprobeerd:
FROM website_activiteiten WHERE Datum BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 20 DAY) LIMIT 1";

werkt goed alleen soms bijv met vakantie hebben wij paar maanden niks dus toen dacht ik ik zet hem op 12 MONTHS of 365 DAY maar op de 1 of andere manier pakt hij dan toch 1 bepaalde hit net als WHERE Datum >= CURDATE() ORDER BY Datum LIMIT 1"; ik snap alleen niet waarom hij die selecteerd hij geeft steeds 27 april terwijl er nog 4 evenementen tussen zitten....

als ik FROM website_activiteiten WHERE Datum BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 20 DAY) LIMIT 1";
gebruik geeft hij wel de eerst volgende....
Als je gewoon eerst eens:

SELECT datum FROM website_activiteiten WHERE datum >= NOW() ORDER BY datum LIMIT 1

Wat krijg je dan?

[size=xsmall]Toevoeging op 01/04/2014 17:01:39:[/size]

@Ivo,
Heeft niet zoveel met OS te maken, in mysql zijn kolom en tabelnamen case insensitive, behalve als je ze tussen backticks zet.
Heb hem nu werkend ik gebruik

"SELECT * FROM website_activiteiten WHERE MONTH(Datum) = MONTH(NOW()) ORDER BY Datum ASC";

en de datum lees ik uit door:

$date = date_create($row['Datum']);
echo date_format($date, 'd F Y');

Topper!

Allemaal super bedankt voor de hulp!!
Dus je wilt zeggen dat je alleen met bovenstaande query het gewenste resultaat krijgt?
Dat betekent dat het datatype van de kolom in de tabel geen DATETIME is.
Kan er niks aan doen het is toch echt DATETIME

[size=xsmall]Toevoeging op 01/04/2014 18:49:48:[/size]




CREATE TABLE website_activiteiten (
ID int(12) NOT NULL AUTO_INCREMENT,
Activiteit text NOT NULL,
Datum datetime NOT NULL,
`Status` text NOT NULL,
PRIMARY KEY (ID)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Dat is mijn TABLE


http://www.php.net/manual/fr/datetime.format.php

Komt daar vanaf incombinatie met Santhe

Reageren