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....
WHERE Datum > NOW() ORDER BY Datum ASC LIMIT 1";
Wat ik doe bij het invoeren is now()+0

Dan kan je er later makkelijker mee rekenen met bijvoorbeeld now()+100 voor 1 minuut of now()+1000000 voor 1 dag.

Of bijvoorbeeld 1 van deze voor de maanden.
00001100000000
Als ik die van SanThe gebruik dan pakt hij die van December?

Naast deze vraag heb ik er nog 1
als ik mijn gegevens uit de database haal ook de datetime dan geeft hij als ik ingevoerd heb 10:00 staat op de website 10:0 net als bij 10:50 word dan 10:5

Deze informatie haal ik eruit via HOUR(Datum), ':', MINUTE(Datum)) AS datum

Iemand andwoord op beide vragen?
Waarom gebruik je geen date_format() als je in de query de datum wilt opmaken?

Zelf haal ik de datum op zoals mysql die geeft, en dan zet ik php's datetime class in voor de opmaak
@Santhe Had ik beide al geprobeerd maar bij ASC krijg ik 1 december terwijl de laatste 15 December is en bij DESC krijg ik 9 November terwijl de eerste 7 april is.....

@Ivo P zal ik morgen is naar kijken maar hoe zorg ik ervoor dat dan ook de aankomende word weergegeven zoals SanThe's voorbeeld? Of is dat een hele andere manier.

Alvast bedankt allemaal
Sonic GFX op 31/03/2014 21:21:21

Datum is DATETIME


Weet je dat zeker want het lijkt er op dat je een ander type gebruikt.
Je gebruikt toch niet de kolomnaam ook als alias?

Select fun(datum) as datum......
Ja weet zeker 100% DATETIME

Euhm ik gebruik wel alias alleen zit hij in me DB als Datum en is ie in me alias als datum met kleine D

zal die is weglaten die informatie kan ik natuurlijk ook anders krijgen!


SELECT DATE_FORMAT(Datum, '%H:%i') AS tijdstip,
       DATE_FORMAT(Datum, '%d-%m-%Y') AS datum_format
FROM ...
ORDER BY Datum ASC



werkt misschien beter?

[size=xsmall]Toevoeging op 01/04/2014 16:53:05:[/size]

kan zijn dat als je onder Windows werkt, het verschil tussen "Datum" en "datum" als kolomnaam niet helemaal uit de verf komt.

Reageren