Graag zou ik de resultaten van vandaag en de rest van de maand willen tonen.
SELECT event_id, datetime
FROM sportevenementen
WHERE MONTH(datetime) = MONTH(NOW()) ORDER BY `datetime` ASC
Met de query hierboven krijg ik alle resultaten van de maand.
Graag zou ik de resultaten van vandaag 8 oktober en de rest van de maand willen zien.
Volgens mij gebruik ik daarvoor de CURDATE, maar weet ik niet hoe ik deze kan toepassen in de query.
Heeft iemand een idee, hoe ik dit zou kunnen aanpassen?
$result = mysqli_query($con,"SELECT event_id, datum
FROM sportevenementen
WHERE datum BETWEEN '2019-10-08' AND LAST_DAY('2019-10-08') ORDER BY datum ASC");
LAST_DAY('2019-10-08') wordt dan automatisch 2019-10-31
?
Onbekende gebruiker
08-10-2019 21:10
gewijzigd op 08-10-2019 21:17
[size=xsmall]Toevoeging op 08/10/2019 21:12:32:[/size]
$result = mysqli_query($con,"SELECT event_id, datumtijd
FROM sportevenementen
WHERE datumtijd > date_sub(CURRENT_DATE(), interval 0 week) order by datumtijd ASC");
Nu heb ik de begindatum goed, maar de laatste dag van de maand nog niet.
Ik kan het niet uitproberen maar misschien helpt het je in de goede richting
$result = mysqli_query($con,"SELECT event_id, datumtijd
FROM
sportevenementen
WHERE
datumtijd > date_sub(CURRENT_DATE(), interval 0 week)
AND
datumtijd <= LAST_DAY(NOW())
ORDER BY
datumtijd ASC");
Als je toch geen interval gebruikt kun je ook gewoon NOW() gebruiken.
LAST_DAY(NOW()) kan ook als LAST_DAY(CURDATE()) of LAST_DAY(CURDATE() + INTERVAL 1 MONTH)
?
Onbekende gebruiker
08-10-2019 21:27
Bedankt, de resultaten zijn tot en met 2019-10-30.
Maar ik ga dit proberen:
LAST_DAY(NOW()) kan ook als LAST_DAY(CURDATE()) of LAST_DAY(CURDATE() + INTERVAL 1 MONTH)
Gebruik je wel <= ? (Minder dan en gelijk aan)
Nu gebruik je ook de > (Meer dan). Dit zou ook de datum van morgen pakken waarschijnlijk.
?
Onbekende gebruiker
08-10-2019 21:46
Nee, de datum blijft tot 2019-10-30.
$result = mysqli_query($con,"SELECT event_id, datumtijd
FROM sportevenementen
WHERE datumtijd >= date_sub(CURRENT_DATE(), interval 0 week) AND datumtijd <= LAST_DAY(NOW()) order by datumtijd ASC");
Ik heb het gereproduceerd en ik krijg inderdaad ook niet de laatste dag.
Met < en met <= krijg ik het zelfde resultaat. Heel vreemd. Misschien is er iemand hier die dat kan uitleggen.
Een workaround is om er een dag bij op te tellen
$result = mysqli_query($con,"SELECT event_id, datumtijd
FROM
sportevenementen
WHERE
datumtijd > '2019-10-08'
AND
datumtijd < DATE_ADD(LAST_DAY('2019-10-08'), INTERVAL + 1 DAY)
ORDER BY
datumtijd ASC");