Autor Zpráva
Tirus
Profil
Potřeboval bych poradit, jak udělat to, aby do $color se uložilo 'orange' když current_time je větší jak $timestamp, ale zároveň menší jak strtotime($action[$i][$time]['time_from'])
Zkoušel jsem podmínku
($timestamp < $current_time && $current_time > $action[$i][$time]['time_from']) $color = 'orange';


                    $time = "$this->time_hour:$this->time_minute:00";
                    $timeNext = "$this->time_hour:" . ($this->time_minute + RENT_MINUTE) . ":00";
                    $current_time = strtotime('now');

                    if (!empty($action[$i][$time]['time_to'])) {
                        $timestamp = strtotime($action[$i][$time]['time_to']);
                        if ($current_time < $timestamp)
                            $color = 'lightblue';
                        if ($current_time > $timestamp) {
                            $color = 'magenta';
                            if ($action[$i][$time]['done']) {
                                $color = 'orange';
                            }
                        }
                    }
Ernie
Profil
když current_time je větší jak $timestamp, ale zároveň menší jak strtotime($action[$i][$time]['time_from'])
Tedy
<?php
if($timestamp < $current_time && $current_time < strtotime($action[$i][$time]['time_from'])) $color = 'orange';
//nebo zapsáno přesně podle slovního zadání
if($current_time > $timestamp && $current_time < strtotime($action[$i][$time]['time_from'])) $color = 'orange';
?>
Tirus
Profil
Ernie:
děkuji, ovšem nechápu, ale nefunguje to..
vypadá to takto
Ernie
Profil
Tirus:
if na začátku asi chybělo vinou nesprávného okopírování kódu.
Znak nerovnosti < byl otočený na nesprávnou stranu (< znamená že to vlevo od něj je menší než to vpravo od něj - a pokud otočíte ten znak, musíte vyměnit strany)
A pak tam ještě scházelo to strtotime(), které jste zmiňoval.
Tori
Profil
Tirus:
V $timestamp je to co má být? strtotime($action...) vrací int nebo false?
Tirus
Profil
Ernie:
omlouvám se, nemá to být orange, ale lightgreen, takže jsem to změnil.. jinak prodloužil jsem čas toho vpravo dole, tak aby byl i nyní a má se zbarvit na lightgreen a nic
Ernie
Profil
Tirus:
Toho, čeho jste chtěl docílit v [#1], docílíte kódem, který jsem napsal v [#2].
Ale celkové poslání skriptu mi nějak uniká...
Tirus
Profil
Ernie:
jde mi o to, zda current time je mezi časem od a do daného pronájmu, tak se buňka zbarví na zeleno, pokud current time je menší jak time from, tak je to lightblue a za pronájem už proběhl, tak se zbarví na základě, zda dotyčná org. se dostavila či ne
Tirus
Profil
asi už blbnu... zase nic
                    $time = "$this->time_hour:$this->time_minute:00";
                    $timeNext = "$this->time_hour:" . ($this->time_minute + RENT_MINUTE) . ":00";
                    $current_time = strtotime('now');

                    if (!empty($action[$i][$time]['time_to']) && !empty($action[$i][$time]['time_from'])) {
                        $to = strtotime($action[$i][$time]['time_to']);
                        $from = strtotime($action[$i][$time]['time_to']);
                        if ($current_time < $from)
                            $color = 'lightblue';
                        if ($current_time > $to) {
                            $color = 'magenta';
                            if ($action[$i][$time]['done']) {
                                $color = 'orange';
                            }
                        }
                        if ($to > $current_time && $current_time > $from)
                            $color = 'lightgreen';
                    }


neprojde poslední podmínka

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0