Archief - Date functie nodig

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

w00tah

Legacy Member
Hallo mede php-ers

Hopelijk kan er iemand van jullie me helpen, want ik zit nogal block, zelf heb ik geen idee hoe dit te kunnen realiseren en google helpt ook niet veel.

Ik zou een soort van php date-functie moeten hebben die het volgende kan:

Ik laat de gebruiker een maand en een dag (maandag, dinsdag, ...) selecteren.
En dan zou in de database telkens de datums van de geselecteerde maand afhankelijk van de geselecteerde dag moeten geplaatst worden.

Bv. de gebruiker selecteert 'augustus' en 'zondag', dan zou in de database moeten geplaatst worden:

02-08-2010
09-08-2010
16-08-2010
23-08-2010
30-08-2010

Dit is natuurlijk afhankelijk van maand tot maand en jaar tot jaar. Ik dacht dit op te lossen door de geselecteerde dag om te zetten naar die zijn eerste dag van de geselecteerde maand. Dus in dit voorbeeld is dit 02-08-2010 en vervolgens er telkens 7 bij op te tellen, maar hoe geraak ik aan die eerste datum?

Alvast merci!

woooter

Legacy Member
Je zou misschien kunnen werken met PHP: strtotime - Manual.

Met strtotime("next Thursday") krijg je bijvoorbeeld de timestamp van volgende dinsdag. Als je dat combineert met een timestamp van een bepaalde maand als tweede parameter mee te geven (int strtotime ( string $time [, int $now ] ) ), kom je er wel ongeveer denk ik.

dJeez

Legacy Member
Het algoritme is vrij eenvoudig: je neemt het dagnummer van de 1e van de maand in kwestie (zie getdate, wday is wat je nodig hebt of je kan ook date("w", timestamp); gebruiken), dan bepaal je de offset (in dagen) tov de weekdag die je wil (0-6). Je schuift dat aantal dagen op en dan heb je de startdatum, de rest is loopen en checken of je nog in dezelfde maand zit.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan