Autor Zpráva
M_Válek
Profil
Dobrý den. Asi se ptám na uplně primitivní věc a trošku se za to stydím, ale mám následující problém.
script, který řídí načítání toho pravého stylu:
$x=date("H");
if ($x==00 or $x==01 or $x==02 or $x==03 or $x==04 or $x==05) {$styly=$stylvecer;}
elseif ($x==06 or $x==07 or $x==08) {$styly=$stylrano;}
elseif ($x==09 or $x==10 or $x==11 or $x==12 or $x==13 or $x==14 or $x==15) {$styly=$stylodpol;}
elseif ($x==16 or $x==17 or $x==18) {$styly=$stylpodvec;}
elseif ($x==19 or $x==20 or $x==21 or $x==22 or $x==23 or $cas==24) {$styly=$stylvecer;}
else {$styly=$stylodpol;}
?>
Všecko funguje až na moment kdy udeří osma hodina ráno H=08, může tam být 07, 09, 16 cokoli až na 08. Když čas odpovídá osmé hodině raní, tak se prostě o slovo zahlásí $styly=$stylodpol; ---else {$styly=$stylodpol;}---. Zkoušel sem i vetší menší , nebo vetší či menší a zároveň rovnáse a nic prostě osm hodin ráno je mrtvo.

druhá možnost:
$x=date("H");
if ($x>=00 and $x<05) {$styly=$stylvecer;}
elseif ($x>=05 and $x<09) {$styly=$stylrano;}
elseif ($x>=09 and $x<16) {$styly=$stylodpol;}
elseif ($x>=16 and $x<18) {$styly=$stylpodvec;}
elseif ($x>=18) {$styly=$stylpodvec;}
else {$styly=$stylodpol;}
?>
a stále mrtvo... nevíte někdo co stím :-( ? nejde jak u mne tak i na serveru při osmé hoďce ráno by měl styl odpovídat ještě stále rannímu. na ostatní případne časové nesrovnalosti ve dvouch ruzných variantách neberte zřetel.... Jde mi pouze o vyřešení problému osmé hodiny ranní. Díky moc
Alphard
Profil
zkuste tohle
$cas= (int) date("G"); 
if ($x>=0 and $x<5) {$styly=$stylvecer;} 
elseif ($x>=5 and $x<9) {$styly=$stylrano;} 
elseif ($x>=9 and $x<16) {$styly=$stylodpol;} 
elseif ($x>=16 and $x<18) {$styly=$stylpodvec;} 
elseif ($x>=18) {$styly=$stylpodvec;} 
else {$styly=$stylodpol;}
M_Válek
Profil
no zkusil sem a nic porad stejnej problem. jeste bych chtel opravit mensi nesrovnalost, ktera na to ovsem snad nema vliv
elseif ($x>=18) {$styly=$stylvecer;}
M_Válek
Profil
Do 07 vše v pořádku ale ta prokleta osmička :-D ... ještě mně napadlo to vyřešit přes date("h") a date("a) jenomže to potom nevyřeším zapeklitý problém osmé hodiny ranní H=08 a taky je možné že bych došel ke stejnému problému.
Alphard
Profil
upravte
$cas= (int) date("G"); 

na
$x= (int) date("G"); 


nevím, proč jsem to přepsal na čas :-)

ale jinak mi to funguje


<?php
//$x= (int) date("G");
$x = 8;
if ($x>=0 and $x<5) {echo "vecer";}
elseif ($x>=5 and $x<9) {echo "rano";}
elseif ($x>=9 and $x<16) {echo "odpoledne";}
elseif ($x>=16 and $x<18) {echo "podvecer";}
elseif ($x>=18) {echo "vecer";}
else {echo "odpoledne";}
?>

vypíše rano
nightfish
Profil
Do 07 vše v pořádku ale ta prokleta osmička
protože číslicové literály, které začínají nulou, se považují za číslo v osmičkové (oktalové) soustavě
M_Válek
Profil
Chlapi dííííky moc ;-) už to běhá :-) ....$x = 8;....

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