Ik heb een vraagje mbt datum ranges.
Wat ik zoek is een script welke een true of false geeft wanneer de datum van vandaag wel of niet binnen een range uit de database valt. (Dit is bijvoorbeeld handig voor bepaalde onderdelen die maar tijdelijk op de site moeten komen te staan...)
Met een query haal ik deze gegevens uit de database:
Nu moet ik een script hebben wat dus controleerd of de dag van vandaag binnen de van/tot range valt. Rekening houdend met het aantal dagen in het jaar, etc etc. Er moet dus uiteindelijk True of False uitkomen....
Is hier een makkelijk script voor? Bestaan hier al scripts voor? Ik kon zelf namelijk weinig vinden....helaas :)
Het gaat er niet om dat ik een datum range zoek waarbinnen de dag van vandaag valt, maar juist anders om. Ik heb een datumrage uit de database en moet controleren of vanaag ook binnen die range valt.
Stel ik heb een Vakje waarin een tijdelijke afbeelding komt te staan. Op elke pagina is dat een andere afbeelding en aan deze afbeelding kan ik een actieperiode hangen. Als de dag van vandaag binnen deze actieperiode valt dan laat hij de afbeelding zien, zo niet dan niet.
De actieperiode haal ik uit de DB aan de hand van het pagina-id. Zo heb ik dus per pagina een actieperiode waarbinnen de afbeelding te zien is of niet. Deze periode kan ik dus per pagina instellen en uitlezen.
Nu heb ik dus een script nodig welke kijkt of de dag van vandaag binnen die periode valt en zo de afbeelding wel of niet laat zien.... true of false....
Maar dat is juist precies wat je met mijn voorbeeld kunt doen. Als je je pagina-id's in dezelfde tabel opslaat en het begin en het eind van de actieperiode dan levert mijn voorbeeld precies de resultaten die je nodig hebt.
Je hebt het overigens over een actieperiode per pagina en over een actieperiode per afbeelding.
Oh sorry als dat zo overkwam.
Maar het gaat om een afbeelding per pagina. Deze enkele afbeelding is dus wel of niet zichtbaar afhangkelijk van de ingestelde periode voor die pagina.
Kortom elke pagina heeft maar een afbeelding en een periode voor deze afbeelding.
Tip: Ga je eens verdiepen in de verschillende datatypes die de database heeft te bieden: PostgreSQL MySQL
Met deze kennis op zak zul je bovenstaande fout niet meer maken en een hoop andere problemen voorkomen.
Maar natuurlijk! Hoe moet de database anders weten wat een datum is? In Nederland gebruik je dd-mm-yyyy, dd/mm/yyyy en dd-mm-yy zijn ook populair, maar in bv. de VS gebruikt men toch echt mm/dd/yyyy of mm/dd/yy. Dat lijkt allemaal op een datum! 11/04/2007, 11 april of 4 november?
yyyy-mm-dd is een ISO-formaat, dat maakt het wel zo duidelijk.
In MySQL kun je DATE_FORMAT() gebruiken om de datum in het formaat op te maken dat jij op dat moment nodig hebt. Met een iets uitgebreidere query kun je zelfs nog veel meer: