Door
-- evilrabbit --
op 30-12-2017 11:05
gewijzigd op 30-12-2017 14:49
5.177 views
Kan iemand mij vertellen hoe ik een kalender kan maken in PHP. "Vandaag" zou ik graag gehighlight zien en in de titel bovenaan zou de maand moeten wijzigen al naargelang de maand waarin je de pagina opent.
Bijgevoegde afbeelding toont mijn gewenste output.
Kalender scripts zijn voor een aanvangend php-er best wel pittig. Kijkend naar jouw voorbeeld zijn er een aantal hobbels te nemen. Het lijkt me dan ook belangrijk om in een aantal stappen te werken.
a) bepaal welke maand en jaar de kalender moet laten zien.
b) maak een functie die berekend op welke dag van de week de 1e van deze maand valt. Hint: gebruik date('N') - 1; Je krijgt dan een 0 voor maandag en een 6 voor zondag).
c) maak een functie die het aantal dagen van de maand bepaald. (dit is 28, 29, 30 of 31)
d) Maak van $dag een negatief getal, 0 of 1 met een formule: $dag = 1 - [de dag waarop de 1e van deze maand valt]. In jouw voorbeeld valt de eerste dag op vrijdag. Je zou dan met $dag = -3 moeten starten.
e) maak een while lus die pas beëindigd wordt als de teller $dag >= aan het aantal dagen in deze maand. (deze lus wordt straks net zo vaak doorlopen als er regels zijn in de kalender)
f) maak BINNEN IN de while lus een for lus die van 0 t/m 6 telt
g) maak in de for lus een if/else statement die er voor zorgt dat er een lege table cell gemaakt wordt als $dag kleiner is dan 1 of groter is dan [laatste dag van de maand] en anders een table cell met de waarde van $dag.
h) zorg dat aan het einde in de for lus $dag met 1 verhoogd wordt
i) zet de nodige HTML code nog boven en onder de for lus.