nieuwsbrief per schooljaar tonen in query
Op een school website wil ik de nieuwsbrieven tonen van het lopende schooljaar. Het lastige hierin is dat een schooljaar niet in 1 kalenderjaar valt maar in 2. (bv., 15-08-2016 t/m 14-08-2017).
Ik heb per nieuwsbrief een kolom 'nieuwsbrief_datum' waarop ik de nieuwsbrieven met een query wil ophalen en tonen.
Onderstaande query heb ik tot nu toe:
Quote:
Deze werkt op zich wel, maar ik verwacht dat dit in het nieuwe jaar mis gaat en dat hij het jaar 2017 en 2018 geeft. dan ontbreken de voorgaande nieuwsbrieven vanaf begin schooljaar 2016/2017.
Weet iemand hoe ik kan bereiken dat een query een schooljaar herkent op basis van de kolom nieuwsbrief_datum zonder dat elk jaar de query en script aangepast hoeven worden.
Samengevat:
ik wil de nieuwsbrieven vanaf de laatste 16 augustus tot de volgende 16 augustus (=schooljaar)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$curMonth = date('m');
$startYear = date('Y');
if($curMonth < 8 || ($curMonth == 8 && date('j') <= 16)) { // januari tot en met juli OF eerste helft augustus
$startYear--;
}
$endYear = $startYear + 1;
$sSelectiequery = "SELECT nieuwsbrief_datum,status
FROM nieuws
WHERE nieuwsbrief_datum BETWEEN '".$startYear."-08-16' AND '".$endYear."-08-15'
ORDER BY nieuwsbrief_datum DESC ";
?>
$curMonth = date('m');
$startYear = date('Y');
if($curMonth < 8 || ($curMonth == 8 && date('j') <= 16)) { // januari tot en met juli OF eerste helft augustus
$startYear--;
}
$endYear = $startYear + 1;
$sSelectiequery = "SELECT nieuwsbrief_datum,status
FROM nieuws
WHERE nieuwsbrief_datum BETWEEN '".$startYear."-08-16' AND '".$endYear."-08-15'
ORDER BY nieuwsbrief_datum DESC ";
?>
Hartelijk bedankt voor de goede hulp.
Goede jaarwisseling gewenst!
Gewijzigd op 29/12/2016 18:20:31 door N tigerrag
Waarom wachten tot zondag als je de klok vooruit kunt zetten.