Avatar billede minelisabeth Nybegynder
31. maj 2014 - 15:50 Der er 3 kommentarer

Bevare grøn bacground i tidsrummet.

<?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' => '11:00', 'to' => '04:00'),
        array('day' => 7, 'from' => '11:00', 'to' => '21:00')
    );

    // Statisk data
    $day_names = array(1 => 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag', 'Søndag');

    $color_closed = 'red';
    $color_default = 'white';
    $color_open = 'green';

    // Logik
    $current_day = date('N');
    $the_date = date('Y-m-d');
    $now = time();
    foreach($opening_days as $day) {
        $day_name = $day_names[$day['day']];

        if(isset($day['from']) && isset($day['to'])) {
            if(strtotime($the_date.' '.$day['from']) < $now && $now < strtotime($the_date.' '.$day['to']) && $day['day'] == $current_day) {
                $color = $color_open;
            } else {
                $color = $color_default;
            }
            $textlines[] = array('text' => $day_name.': '.$day['from'].' - '.$day['to'], 'css' => 'background-color: '.$color);
        } else {
            $textlines[] = array('text' => $day_name.': Lukket', 'css' => 'background-color: '.$color_closed);
        }
    }


    //HTML og output til sidst.
    foreach($textlines as $line) {
        echo '<span style="'.$line['css'].'">'.$line['text'].'</span><br>';
    }
    ?>


Når den er sat til 04:00 er den ikke længere brugeligt dette script. Sætter jeg den til 23:59, vil det virke.

Men hvordan får jeg det ændret så den også virker til 04:00 på samme dag, og ikke til ny day-nr.

:/
Avatar billede minelisabeth Nybegynder
31. maj 2014 - 16:27 #1
if(strtotime($the_date.' '.$day['from']) < $now && $now < strtotime($the_date.' '.$day['to']+4) && $day['day'] == $current_day) {

Tænkte selv på +4

Men om det er en god nok løsning, ved jeg ikke helt.
Da tidspunktet på en bodega, snildt kan være til kl. 4.
Så er det jo rart at kunne se online at den egentlig er åben, også selvom man kigger på siden kl. 03:55 :)
Avatar billede minelisabeth Nybegynder
31. maj 2014 - 23:11 #2
Slet ingen som kan hjælpe mig videre? Overhovedet?
Avatar billede minelisabeth Nybegynder
01. juni 2014 - 11:47 #3
Hmm, så er jeg nok havnet det forkerte sted :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester