Autor Zpráva
carlik
Profil *
Potřeboval bych nějakou podmínku nebo něco podobného na to, aby se mi odpočet (Akce začíná za $d_day dní, $d_hrs hodin, $d_min minut, $d_sec vteřin.) zobrazovala tak, že pokud bude jeden z parametrů ($d_day dní, $d_hrs hodin, $d_min minut, $d_sec) nulový, tak se zobrazí bez něj. Např. teď by byl odpočet zobrazen jako : Akce začíná za 0 dní, 22 hodin, 21 minut, 46 vteřin . Tak aby se to zobrazilo jako : Akce začíná za 22 hodin, 21 minut, 46 vteřin... Atp. Díky
djlj
Profil
Tak si tam dej podmínku, jestli se rovná nebo nerovná nule… Co je za problém?
carlik
Profil *
já právě nevím, jak to napsat
Alphard
Profil
if ($hodin != 0) echo $hodin . " hodin";
Alphard
Profil
opraveno
carlik
Profil *
To jo, ale to těch podmínek bude muset být hodně, protože co když do té akce bude zbývat 0 hod + to ostatní nenulové, potom zase může zbývat 0 hodin, ale všechno ostatní bude nenulové... Atp... Myslel jsem, jestli neexistuje nějaký příkaz nebo podmínka, kdy je jakýkoliv z několika proměnných nulový, tak se to vypíše bez něj... Díky
carlik
Profil *
prosím pomozte mi...
Alphard
Profil
více to zjednodušit nejde, není to o ochotě
if ($dni != 0) echo $dni . " dni, ";
if ($hodin != 0) echo $hodin . " hodin, ";
if ($minut != 0) echo $minut . " minut, ";
if ($sekund != 0) echo $sekund . " sekund";

a jestli budeš chtít udělat
za:
5 dní
4 dny
1 den

tak se opět podmínkám nevyhneš
carlik
Profil *
díky moc
carlik
Profil *
ještě jedna věc k těm podmínkám, teď mám ty podmínky teda takto :

if ( $cas_ted < $cas_zacatek ) echo "Akce začíná za : ";
if ($d_day != 0) echo $d_day . " dní, ";
if ($d_hrs != 0) echo $d_hrs . " hodin, ";
if ($d_min != 0) echo $d_min . " minut, ";
if ($d_sec != 0) echo $d_sec . " sekund.";
if ($cas_ted > $cas_zacatek && $cas_ted < $cas_konec) echo "Akce začala";
if ( $cas_ted > $cas_zacatek ) echo "Akce skončila.";

Potřeboval bych, aby se po skončení té akce zobrazila jen hláška "Akce skončila.", namísto "-nějaký čas.Akce skončila". Předem díky
carlik
Profil *
omlouvám se, v poslední podmínce má být
if ( $cas_ted > $cas_konec ) echo "Akce skončila.";
Alphard
Profil

if ( $cas_ted < $cas_zacatek )
{ echo "Akce začíná za: ";
if ($d_day != 0) echo $d_day . " dní, ";
if ($d_hrs != 0) echo $d_hrs . " hodin, ";
if ($d_min != 0) echo $d_min . " minut, ";
if ($d_sec != 0) echo $d_sec . " sekund."; }
if ($cas_ted > $cas_zacatek && $cas_ted < $cas_konec) echo "Akce začala";
if ( $cas_ted > $cas_konec ) echo "Akce skončila.";


jen tak na okraj, místo "Akce začala" by se možná více hodilo "akce probíhá", ale je to jen můj názor :-) a před : se nedělá mezera, to je typografické pravidlo
carlik
Profil *
Alphard: Díky moc, a to s tou mezerou jsem ani nevěděl, ale už si to snad budu pamatovat. Ještě jednou děkuju

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: