[zoek] Openingstijden script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Laszlo

laszlo

28/07/2008 15:34:00
Quote Anchor link
Ik kijk hier af en toe eens rond en probeer wel het een ander met PHP, maar ik ben wat dat betreft een ontzettende n00b. Ik zoek eigenlijk een heel simpel php scriptje waarmee ik op een site de openingstijden van het park de Efteling kan aangeven. Het is vergelijkbaar met hetgeen wat rechts op deze site staat:
http://www.walibiweb.nl/

Ik ben er wel uit dat het eventueel met een MySQL database zou moeten, dara heb ik ook beschikken over.

Is er iemand die mij hiermee kan helpen?

Bij voorbaat dank,

Laszlo
Gewijzigd op 01/01/1970 01:00:00 door Laszlo
 
PHP hulp

PHP hulp

24/12/2024 13:12:04
 
Gerben Jacobs

Gerben Jacobs

28/07/2008 15:38:00
Quote Anchor link
Hoeveel verschillende openingstijden heeft de Efteling? 3 toch? Maal 2 voor winter/zomer efteling?
 
Laszlo

laszlo

28/07/2008 15:46:00
Quote Anchor link
In het zomersoen drie ja en in de winter twee.
 
Emmanuel Delay

Emmanuel Delay

28/07/2008 19:54:00
Quote Anchor link
Je bent toch niet bezig een nieuwe site te maken voor de Efteling of toch?

Ik veronderstel dat je een kleine site maakt waarin je onder andere de openingstijden van de Efteling toont.

Waar haal je de informatie over de openingsuren? Heb je die bij de hand?

Geef anders eens een lijst met de openingsuren per periode van het jaar. Zet er bij wanneer die periodes beginnen en stoppen.
 
Laszlo

laszlo

29/07/2008 09:54:00
Quote Anchor link
Nee, ik maak een onofficiële site/fansite.

Openingstijden zomer 2008

21 maart tot en met 6 Juli 2008
Dagelijks van 10:00 uur tot 18:00 uur.

7 Juli tot en met 24 Augustus
Dagelijks van 10:00 uur tot 21:00 uur.
Met uitzonderingen van de zeven Zaterdagen in deze periode.
Op die Zaterdagen (12, 19, 26 juli, 2, 9, 16 en 23 augustus) van 10:00 uur tot 24:00 uur.
 
Laszlo

laszlo

29/07/2008 10:01:00
Quote Anchor link
Sorry voor de dubbelpost, kan dus niet bewerken.

Winter 2008/2009

6, 7, 13, 14 december 2008, van 20 december 2008 t/m
4 januari 2009 (m.u.v. 1 januari 2009), 10, 11, 17, 18, 24 en 25 januari 2009.

De openingstijden op bovengenoemde data zijn van 11.00 tot 20.00 uur. Op 31 december 2008 van 11.00 tot 18.00 uur.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door laszlo
 
Emmanuel Delay

Emmanuel Delay

29/07/2008 17:35:00
Quote Anchor link
Als je juist vandaag, morgen en overmorgen wil:
Als je het anders wil voorgesteld worden, zeg dan eens hoe.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?
// periodes invullen.  Je kan zelf periodes bij maken
$i = 0;
$periodes = array();
$periodes[$i]['start'] = '2008-07-07';
$periodes[$i]['stop'] = '2008-08-24';
$periodes[$i]['openingsuren'] =  array("10:00", "10:00", "10:00", "10:00", "10:00", "10:00", "10:00" ); // zo, ma, di, wo, do, vr, za
$periodes[$i]['sluitingsuren'] = array("21:00", "21:00", "21:00", "21:00", "21:00", "21:00", "24:00" );
$periodes[$i]['uitzonderingen'] = array(null);
$i++;
$periodes[$i]['start'] = '2008-12-06';
$periodes[$i]['stop'] = '2008-12-14';
$periodes[$i]['openingsuren'] =  array("11:00", null, null, null, null, null, "11:00" );
$periodes[$i]['sluitingsuren'] = array("20:00", null, null, null, null, null, "20:00" );
$periodes[$i]['uitzonderingen'] = array(null);
$i++;
$periodes[$i]['start'] = '2008-12-15';
$periodes[$i]['stop'] = '2009-01-04';
$periodes[$i]['openingsuren'] =  array("11:00","11:00","11:00","11:00","11:00","11:00","11:00"); // zo, ma, di, wo, do, vr, za
$periodes[$i]['sluitingsuren'] = array("20:00","20:00","20:00","20:00","20:00","20:00","20:00");
$periodes[$i]['uitzonderingen'] = array();
$periodes[$i]['uitzonderingen'][0]['dag'] = "2008-12-31";
$periodes[$i]['uitzonderingen'][0]['openingsuren'] = "11:00";
$periodes[$i]['uitzonderingen'][0]['sluitingsuren'] = "18:00";
$periodes[$i]['uitzonderingen'][1]['dag'] = "2009-01-01";
$periodes[$i]['uitzonderingen'][1]['openingsuren'] = null;
$periodes[$i]['uitzonderingen'][1]['sluitingsuren'] = null;
$i++;
$periodes[$i]['start'] = '2008-12-06';
$periodes[$i]['stop'] = '2008-12-14';
$periodes[$i]['openingsuren'] =  array("11:00", null, null, null, null, null, "11:00" );
$periodes[$i]['sluitingsuren'] = array("20:00", null, null, null, null, null, "20:00" );
$periodes[$i]['uitzonderingen'] = array(null);
$i++;

echo getOpeningsuren(time(), $periodes);

function
getOpeningsuren($date, $periodes)
{

$resultaat = '';
$m_nu = new datum();
$m_morgen = new datum();
$m_morgen->add(0,0,1);
$m_overmorgen = new datum();
$m_overmorgen->add(0,0,2);
$openingsuur_vandaag = getOpeningsuur($m_nu, $periodes);
$openingsuur_morgen = getOpeningsuur($m_morgen, $periodes);
$openingsuur_overmorgen = getOpeningsuur($m_overmorgen, $periodes);

$resultaat = $resultaat . '<li>vandaag: '. ($openingsuur_vandaag[0] == null ? 'gesloten' : $openingsuur_vandaag[0].'u - '. $openingsuur_vandaag[1].'u') .'</li>';
$resultaat = $resultaat . '<li>morgen: '. ($openingsuur_morgen[0] == null ? 'gesloten' : $openingsuur_morgen[0].'u - '. $openingsuur_morgen[1].'u') .'</li>';
$resultaat = $resultaat . '<li>overmorgen: '. ($openingsuur_overmorgen[0] == null ? 'gesloten' : $openingsuur_overmorgen[0].'u - '. $openingsuur_overmorgen[1].'u') .'</li>';
return $resultaat;
}

function
getOpeningsuur($date, $periodes)
{

  $periodestart = new datum();
  $periodestop  = new datum();
  foreach ($periodes as $periode)
    {

      $periodestart->setDatetime($periode["start"] ." 00:00:00");
      $periodestop->setDatetime($periode["stop"] ." 00:00:00");
      if ($date->getTime() < $periodestart->getTime())
        continue;
      if ($date->getTime() > $periodestop->getTime())
        continue;
      foreach ($periode['uitzonderingen'] as $uitzondering)
        {

          if ($date->getDate() == $uitzondering['dag'])
            {

              return array($uitzondering['openingsuren'], $uitzondering['sluitingsuren'] );
            }
        }

      return array($periode['openingsuren'][ $date->dag_vd_week() ], $periode['sluitingsuren'][ $date->dag_vd_week() ] );
    }

  return array(null, null);
}


class datum
{
function
datum( $tijd=0 )
  {
    (
$tijd ? $tijd=$tijd : $tijd = time() );
    $this->dagen_kort = array("zo", "ma", "di", "wo", "do", "vr", "za" );
    $this->setTime( $tijd );
  }
  var
$jaar;
  var
$maand;
  var
$dag;
  var
$uur;
  var
$minuut;
  var
$seconde;
  var
$dagen_kort;
  
  function
setTime( $time )
    {

    $this->jaar = date("Y", $time);
    $this->maand = date("m", $time);
    $this->dag = date("d", $time);
    $this->uur = date("H", $time);
    $this->minuut = date("i", $time);
    $this->seconde = date("s", $time);
    }
  function
getTime()
    {

      return mktime($this->uur, $this->minuut, $this->seconde, $this->maand, $this->dag, $this->jaar);
    }
  function
setDatetime($datetime)  // ik ga er even van uit dat $datetime een geldige waarde bevat
    {
    $dt = explode (" ", $datetime);
    list($this->jaar, $this->maand, $this->dag) = explode("-", $dt[0]);
    list($this->uur , $this->minuut, $this->seconde) = explode(":", $dt[1]);
    }
  function
getDate()
    {

      return str_pad($this->jaar, 4, "0", STR_PAD_LEFT) .'-'. str_pad($this->maand, 2, "0", STR_PAD_LEFT) .'-'. str_pad($this->dag, 2, "0", STR_PAD_LEFT);
    }
  function
dag_vd_week()
    {

      return date("w", $this->getTime());
    }
  function
setVars($jaar=-1, $maand=-1, $dag=-1, $uur=-1, $minuut=-1, $seconde=-1)
    {
      (
$jaar > -1 ? null : $this->jaar = $jaar);
      (
$maand > -1 ? null : $this->jaar = $maand);
      (
$dag > -1 ? null : $this->jaar = $dag);
      (
$uur > -1 ? null : $this->jaar = $uur);
      (
$minuut > -1 ? null : $this->jaar = $minuut);
      (
$seconde > -1 ? null : $this->jaar = $seconde);
    }
  function
add($jaar=0, $maand=0, $dag=0, $uur=0, $minuut=0, $seconde=0)
    {

      $nieuwe_tijd = mktime($this->uur + $uur, $this->minuut + $minuut, $this->seconde + $seconde, $this->maand + $maand, $this->dag + $dag, $this->jaar + $jaar);
      $this->setTime($nieuwe_tijd);
    }
}

?>


De waarden zijn nu manueel ingevuld. Normaal zou je dit halen uit een data base.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Laszlo

laszlo

31/07/2008 12:06:00
Quote Anchor link
Nee deze manier is eigenlijk prima. Dat is eigenlijk het enige wat mensen willen weten als ze even snel kijken.

Hartstikke bedankt! :)
Gewijzigd op 01/01/1970 01:00:00 door laszlo
 
Davey Sonneveld

Davey Sonneveld

09/06/2014 16:14:33
Quote Anchor link
Is er ook een manier om bij de uitzondering een opmerking te plaatsen bijv. 1ste kerstdag of vakantie?

mijn idee van extra rij met opmerking bij uitzonderingen toevoegen hielp niet

<code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?
// periodes invullen.  Je kan zelf periodes bij maken
$i = 0;
$periodes = array();
$periodes[$i]['start'] = '2014-01-01';
$periodes[$i]['stop'] = '2020-12-31';
$periodes[$i]['openingsuren'] =  array("12:00",null,"12:00","12:00","12:00","12:00","12:00"); // zo, ma, di, wo, do, vr, za
$periodes[$i]['sluitingsuren'] = array("22:00",null,"22:00","22:00","22:00","22:00","22:00");
$periodes[$i]['uitzonderingen'] = array();
$periodes[$i]['uitzonderingen'][0]['dag'] = "2014-06-09";
$periodes[$i]['uitzonderingen'][0]['openingsuren'] = null;
$periodes[$i]['uitzonderingen'][0]['sluitingsuren'] = null;
$periodes[$i]['uitzonderingen'][0]['opmerking'] = "Ivm vakantie";
$periodes[$i]['uitzonderingen'][1]['dag'] = "2014-06-10";
$periodes[$i]['uitzonderingen'][1]['openingsuren'] = "12:00";
$periodes[$i]['uitzonderingen'][1]['sluitingsuren'] = "22:00";
$periodes[$i]['uitzonderingen'][1]['opmerking'] = "3de paasdag";
$i++;

echo getOpeningsuren(time(), $periodes);

function
getOpeningsuren($date, $periodes)
{

$resultaat = '';
$m_nu = new datum();
$m_morgen = new datum();
$m_morgen->add(0,0,1);
$m_overmorgen = new datum();
$m_overmorgen->add(0,0,2);
$openingsuur_vandaag = getOpeningsuur($m_nu, $periodes);
$openingsuur_morgen = getOpeningsuur($m_morgen, $periodes);
$openingsuur_overmorgen = getOpeningsuur($m_overmorgen, $periodes);

$resultaat = $resultaat . '<p>vandaag: '. ($openingsuur_vandaag[0] == null ? 'gesloten' : $openingsuur_vandaag[0].'uur - '. $openingsuur_vandaag[1].'uur') .'</p>';
$resultaat = $resultaat . '<p>morgen: '. ($openingsuur_morgen[0] == null ? 'gesloten' : $openingsuur_morgen[0].'uur - '. $openingsuur_morgen[1].'uur') .'</p>';
$resultaat = $resultaat . '<p>overmorgen: '. ($openingsuur_overmorgen[0] == null ? 'gesloten' : $openingsuur_overmorgen[0].'uur - '. $openingsuur_overmorgen[1].'uur') .'</p>';
return $resultaat;
}

function
getOpeningsuur($date, $periodes)
{

  $periodestart = new datum();
  $periodestop  = new datum();
  foreach ($periodes as $periode)
    {

      $periodestart->setDatetime($periode["start"] ." 00:00:00");
      $periodestop->setDatetime($periode["stop"] ." 00:00:00");
      if ($date->getTime() < $periodestart->getTime())
        continue;
      if ($date->getTime() > $periodestop->getTime())
        continue;
      foreach ($periode['uitzonderingen'] as $uitzondering)
        {

          if ($date->getDate() == $uitzondering['dag'])
            {

              return array($uitzondering['openingsuren'], $uitzondering['sluitingsuren'], $uitzondering['opmerking'] );
            }
        }

      return array($periode['openingsuren'][ $date->dag_vd_week() ], $periode['sluitingsuren'][ $date->dag_vd_week() ], $periode['opmerking'][ $date->dag_vd_week() ] );
    }

  return array(null, null, null);
}


class datum
{
function
datum( $tijd=0 )
  {
    (
$tijd ? $tijd=$tijd : $tijd = time() );
    $this->dagen_kort = array("zo", "ma", "di", "wo", "do", "vr", "za" );
    $this->setTime( $tijd );
  }
  var
$jaar;
  var
$maand;
  var
$dag;
  var
$uur;
  var
$minuut;
  var
$seconde;
  var
$dagen_kort;
  
  function
setTime( $time )
    {

    $this->jaar = date("Y", $time);
    $this->maand = date("m", $time);
    $this->dag = date("d", $time);
    $this->uur = date("H", $time);
    $this->minuut = date("i", $time);
    $this->seconde = date("s", $time);
    }
  function
getTime()
    {

      return mktime($this->uur, $this->minuut, $this->seconde, $this->maand, $this->dag, $this->jaar);
    }
  function
setDatetime($datetime)  // ik ga er even van uit dat $datetime een geldige waarde bevat
    {
    $dt = explode (" ", $datetime);
    list($this->jaar, $this->maand, $this->dag) = explode("-", $dt[0]);
    list($this->uur , $this->minuut, $this->seconde) = explode(":", $dt[1]);
    }
  function
getDate()
    {

      return str_pad($this->jaar, 4, "0", STR_PAD_LEFT) .'-'. str_pad($this->maand, 2, "0", STR_PAD_LEFT) .'-'. str_pad($this->dag, 2, "0", STR_PAD_LEFT);
    }
  function
dag_vd_week()
    {

      return date("w", $this->getTime());
    }
  function
setVars($jaar=-1, $maand=-1, $dag=-1, $uur=-1, $minuut=-1, $seconde=-1)
    {
      (
$jaar > -1 ? null : $this->jaar = $jaar);
      (
$maand > -1 ? null : $this->jaar = $maand);
      (
$dag > -1 ? null : $this->jaar = $dag);
      (
$uur > -1 ? null : $this->jaar = $uur);
      (
$minuut > -1 ? null : $this->jaar = $minuut);
      (
$seconde > -1 ? null : $this->jaar = $seconde);
    }
  function
add($jaar=0, $maand=0, $dag=0, $uur=0, $minuut=0, $seconde=0)
    {

      $nieuwe_tijd = mktime($this->uur + $uur, $this->minuut + $minuut, $this->seconde + $seconde, $this->maand + $maand, $this->dag + $dag, $this->jaar + $jaar);
      $this->setTime($nieuwe_tijd);
    }
}

?>

</code>
Gewijzigd op 09/06/2014 16:15:19 door Davey Sonneveld
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.