login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nu gesloten of Nu open tonen aan de hand van openingstijden

Offline Ariebakker - 09/01/2017 20:06
Avatar van AriebakkerNieuw lid geachte lezer,

ik ben een website aan het maken voor een website met deze openeningstijden:
ma • wo • do - 0.800-18.00 uur | di • za - 0.800 - 17.00 uur | vr • 08.00 - 20.00 uur
nu wil ik aan de hand van php een element nu geopend laten zien of nu gesloten weet iemand daar een code voor in php? aangezien ik daar nog weinig ervaring mee heb.

2 antwoorden

Gesponsorde links
Offline Thomas - 10/01/2017 15:28 (laatste wijziging 10/01/2017 15:44)
Avatar van Thomas Moderator Bij dit soort vraagstukken is het handig eerst een soort van verkenning te doen. Kijk naar wat je aan gegevens hebt: een aantal tijdsintervallen voor specifieke dagen van de week.

Op grond van welke dag + tijd het is in combinatie met bovenstaande gegevens kun je bepalen welke boodschap je wilt tonen.

Vervolgens kies je een handige manier om de gegevens te vergelijken met de huidige datum + tijd.

Er zijn vele implementaties mogelijk. Hierbij is het natuurlijk ook zaak dat de klok + tijdszone van de webserver goed ingesteld staan. Daar vanuitgaande zou je voldoende moeten hebben aan de volgende code:

  1. <?php
  2. // define open hours (<day of the week> => array(<open time>, <close time>))
  3. $openHours = array(
  4. // closed on sunday
  5. 1 => array('08:00', '18:00'), // mon
  6. 2 => array('08:00', '17:00'), // tue
  7. 3 => array('08:00', '18:00'), // wed
  8. 4 => array('08:00', '18:00'), // thu
  9. 5 => array('08:00', '20:00'), // fri
  10. 6 => array('08:00', '17:00'), // sat
  11. );
  12.  
  13. $open = false; // to track if we are we open
  14.  
  15. // current day and time of the week, you can insert custom values here to test functionality
  16. $weekDay = date('w'); // current day of the week
  17. $currentTime = date('H:i'); // current time
  18.  
  19. // check if the opening day is defined and the current time is within the opening time interval on that day
  20. if (isset($openHours[$weekDay]) && $openHours[$weekDay][0] <= $currentTime && $currentTime <= $openHours[$weekDay][1]) {
  21. $open = true;
  22. }
  23.  
  24. // are we open?
  25. if ($open) {
  26. ?><b>nu geopend</b><?php
  27. } else {
  28. ?><b>nu gesloten</b><?php
  29. }
  30. ?>

Centraal in deze code is de date() functie waarmee je de huidige of een willekeurige (datum)tijd kunt formatteren.
Offline Ariebakker - 10/01/2017 19:09
Avatar van Ariebakker Nieuw lid super bedankt 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.175s