Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: obrazek zależny od godziny
Forum PHP.pl > Forum > PHP
mb83
Witam
posiadam kod który ma wyświetlać obrazek w zależności od przedziału czasowego.
i tak od 22 do 6 rano ma byc panorama_noc a od 6 do 22 rano panorama_noc

  1. <?php
  2. $g = date('H');
  3. if (($g > 22) AND ($g < 06)) echo "<center><img src='img/pano/panorama_dzien.jpg'></center></td></tr><tr><td align='right'><a href='{url}' style='color:#000000;font-size:10px;background-image:none;'>fot. photo-pixel.pl</a></td></tr>";
  4. if (($g > 06) AND ($g < 22)) echo "<center><img src='img/pano/panorama_noc.jpg'></center></td></tr><tr><td align='right'><a href='{url}' style='color:#000000;font-size:10px;background-image:none;'>fot. fabrykafotografi.pl</a></td></tr>";
  5. ?>

tylko gdzie jest błąd w tym kodzie?
Nie pomaga zmiana H na G, nie pomaga zmiana > na >=
co jest nie tak??
abort
well... Jedyny błąd jaki tam (na szybko) widzę, to:
  1. if (($g > 22) AND ($g < 06))

Czy godzina może być jednocześnie mniejsza od 6 i większa od 22?
Poza tym, te warunki powinny być tak dobrane, że albo jeden jest spełniony albo drugi. A tymczasem u Ciebie dla godziny 6 i godziny 22 nie będzie spełniony żaden.
Zrób tak:
  1. if (($g > 06) AND ($g < 22)) {
  2. // kod dla dnia
  3. } else {
  4. // no oczywiste - jak to nie jest dzień, to oznacza, że jest to noc
  5. }

To by było tyle, co zauważyłem.
d3ut3r
  1. $hour=(int)date('G');
  2.  
  3. if ($hour>=6 && $hour<=22){
  4.  
  5. $image='panorama_dzien.jpg';
  6.  
  7. } else{
  8.  
  9. $image='panorama_noc.jpg';
  10.  
  11. }
  12.  
  13. ?>
  14. <img src="img/pano/<?=$image?>" />
  15.  
CuteOne
Daj date("G") zamiast "H" dostaniesz wynik bez wiodącego zera
thek
A nie prościej zrzucić to na apache'a? Łap http://www.askapache.com/htaccess/time_hou...econd-time.html smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.