Lige meget hvad, så får jeg det ikke til at virke.
Syntes bestemt jeg gjorde som du skrev.
-----------
$the_date = date('Y-m-d');
$now = time();
Sætter jeg ind imellem linje 18 og 19.
??
Det får jeg til:
- $day_name = $day_names[$day['day']];
- $the_date = date('Y-m-d');
- $now = time();
- if(isset($day['from']) && isset($day['to'])) {
Og
if(strtotime($the_date.' '.$day['from']) < $now && $now < strtotime($the_date.' '.$day['to'])) {
$color = 'green';
}
Smider jeg ind imellem linje 23 og 24.
Som jeg fårtil:
- } else {
- if(strtotime($the_date.' '.$day['from']) < $now && $now < strtotime($the_date.' '.$day['to'])) {
- $color = 'green';
- }
- $textlines[] = array('text' => $day_name.': Lukket', 'css' => 'background-color: '.$color);
- }
Samlet:
- <?php
- // Konfiguration, f.eks. fra en database
- $opening_days = array(
- array('day' => 1),
- array('day' => 2, 'from' => '11:00', 'to' => '21:00'),
- array('day' => 3, 'from' => '11:00', 'to' => '21:00'),
- array('day' => 4, 'from' => '11:00', 'to' => '21:00'),
- array('day' => 5, 'from' => '11:00', 'to' => '04:00'),
- array('day' => 6, 'from' => '13:00', 'to' => '04:00'),
- array('day' => 7, 'from' => '11:00', 'to' => '19:00')
- );
- // Statisk data
- $day_names = array(1 => 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag', 'Søndag');
- // Logik
- $current_day = date('N');
- foreach($opening_days as $day) {
- $color = $current_day == $day['day'] ? 'white' : 'transparent';
- $day_name = $day_names[$day['day']];
- $the_date = date('Y-m-d');
- $now = time();
- if(isset($day['from']) && isset($day['to'])) {
- $textlines[] = array('text' => $day_name.': '.$day['from'].' - '.$day['to'], 'css' => 'background-color: '.$color);
- } else {
- if(strtotime($the_date.' '.$day['from']) < $now && $now < strtotime($the_date.' '.$day['to'])) {
- $color = 'green';
- }
- $textlines[] = array('text' => $day_name.': Lukket', 'css' => 'background-color: '.$color);
- }
- }
- //HTML og output til sidst.
- foreach($textlines as $line) {
- echo '<span style="'.$line['css'].'">'.$line['text'].'</span><br />';
- }
- ?>
Der er ikke grønt ved noget tidspunkt.
Jeg tror gerne det er min linje 23/24 som er fejlen, men jeg kan ikke lige se hvordan jeg så bør gør dette.
Indlæg senest redigeret d. 31.05.2014 13:14 af Bruger #17554