Ik ben bezig met een agenda-script. Ik wil alle id's voor de rest van de maand hebben. Ik heb de volgende query:

"SELECT id FROM {$table} WHERE datum BETWEEN '{$today}' AND '{$nextmonth}'"


Hierin is {$table} uiteraard de betreffende tabel, datum een timestamp uit dat tabel. {$today} is een timestamp van vanmorgen 0:00:00 en {$nextmonth} is de eerste van de volgende maand etzelfde tijdstip.

Nu is het probleem dat hij bij deze query maar 1 output geeft, namelijk de eerste die hij tegenkomt (of dat ook daadwerkelijk eentje is met de datum between die andere twee...), terwijl er toch egt een aantal data tussen nu en begin van de volgende maand liggen...

wie weet wat hieraan te doen is?
@turmin:
Wat is er nou lelijk aan { }??? Ik vind het beter dan
"SELECT * FROM " . $table . " WHERE id = '". $id ."' etc


@klaasjan:
volgens mij was de code die na het selecteren (dus na de query en de while-loop etc) niet helemaal goed. Ik heb nu van alle info die uit de query komt arrays, en daarmee kan ik verder alles doen... maar het BETWEEN .. AND .. werkt iig...

Het is beter dan

even veranderen in:

Ik vind het beter dan

tenzij jij kan bewijzen dat het wel beter is ;)

edit:
ik heb het gevoel dat je geen DATETIME-field gebruikt in je database.. kijk hier even naar ;)
Onderstaande query geeft je ook alle dagen van de rest van de huidige maand:

SELECT id, datum
FROM tabelnaam
WHERE YEAR(CURDATE()) = YEAR(datum)
AND MONTH(CURDATE()) = MONTH(datum)
AND datum >= CURDATE()
@terenxe:
je hebt gelijk... heb et verandert..
en idd gebruik ik geen DATETIME-field. Dat werkt toch met een MM/DD/YYYY HH:MM:SS -weergave? En kun je daarmee hetzelfde als met timestamps?

@ Jan Koehoorn:
Kan ook, maar ik ben nog niet zo'n gevorderde Query-schrijver dat ik die dingen ook ken... bovendien is de mijne korter!

Reageren