Saver
(Saver)
18 Październik 2010 13:53
#1
Witam, dzisiejszy problem jest w Tamagochi, chce zrobić aby w godzinach podanych w programie PHP wyświetlało że Trwa Audycja, i żeby wyświetlał to w tych godzinach co trwa audycja,
Podaje źródło PHP:
<?php
#$godzina = date ("H:i");
$godzina = "21:48";
if ($godzina == "6:15" >= "7:05")
{
echo "Trwa audycja!";
}
if ($godzina == "16:20" >= "17:10")
{
echo "Trwa audycja!";
}
if ($godzina == "3:40" >= "4:30")
{
echo "Trwa audycja!";
}
if ($godzina == "21:05" >= "22:00")
{
echo "Trwa audycja!";
}
else
{
echo "Brak audycji";
}
?>
[/code]
Czyli:
Mógłby mi ktoś poprawić kod PHP.
Pozdrawiam
“21:48” to ciąg znaków (string), a co za tym idzie przykładowo “3:20” jest traktowana jako większa od “22:10”
Powinieneś porównywać liczby.
zobacz:
http://www.php.net/manual/en/function.time.php
http://php.net/manual/en/function.mktime.php
albo:
http://pl.php.net/manual/en/class.datetime.php
Poza tym pisząc if ($godzina == “16:20” >= “17:10”)
miałeś na myśli chyba coś na tej zasadzie: if ($godzina>=$poczatek && $godzina<$koniec)
Saver
(Saver)
18 Październik 2010 14:39
#3
Dokładnie,
Chce zrobić że od godziny np. 12:15 do godziny 14:05 wyświetlało Trwa Audycja,
– Dodane 18.10.2010 (Pn) 16:41 –
Działa
Zrobiłem tak jak pisałeś:
Mam nowy problem, gdy jest audycja to pokazuje też tekst z else czyli brak audycji
<?php
#$godzina = date ("H:i");
#$godzina = "21:48";
#
$godzina = "7:06";
if ($godzina >= "6:15" && $godzina < "7:05")
{
echo "Trwa audycja!";
}
if ($godzina >= "16:20" && $godzina < "17:10")
{
echo "Trwa audycja!";
}
if ($godzina >= "3:40" && $godzina < "4:30")
{
echo "Trwa audycja!";
}
if ($godzina >= "21:05" && $godzina < "22:00")
{
echo "Trwa audycja!";
}
else
{
echo "Brak audycji";
}
?>[/code]
powtórzę - porównywanie stringów nie jest tu dobrym pomysłem (patrz mój 1. post)
zamiast
if(...){...}
if(...){...}
if(...){...}
if(...){...}
...
else{...}
użyj
if(...){...}
elseif(...){...}
elseif(...){...}
elseif(...){...}
...
else{...}
wtedy echo “Brak audycji” wykona się tylko gdy wszystkie warunki nie będą prawdziwe (teraz zawsze gdy ostatni jest nieprawdziwy)
Saver
(Saver)
18 Październik 2010 14:51
#5
Działa, Dziękuje Ci bardzo serdecznie za tą szybką i bardzo pomocną pomoc
_alex
([alex])
18 Październik 2010 18:05
#6
$godzina=“07:06”;
if
(
(“03:40”<=$godzina && $godzina<“04:30”)||
(“06:15”<=$godzina && $godzina<“07:05”)||
(“16:20”<=$godzina && $godzina<“17:10”)||
)
{
echo " Trwa audycja! ";
}
else
{
echo “Brak audycji”;
}