Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]pętla z godzinami
@rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

Ostrzeżenie: (0%)
-----


Próbuję zrobić listę z godzinami, Pierwszą cyfrą miałaby być aktualna godzina, ostatnia 24 godziny wcześniej, czy istnieje jakiś prostszy sposób, czy najprościej jest połączyć 2 pętle for. Jedna liczy od X=aktualna_godzina do 0, druga 23 do Y=aktualna_godzina+1;
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  1. $godz=15;
  2. for($i=23;$i>=0;$i--)
  3. {
  4. echo ($godz+$i)%24;
  5. echo PHP_EOL;
  6. }
Go to the top of the page
+Quote Post
@rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

Ostrzeżenie: (0%)
-----


Dzięki, po drobnych modyfikacjach działa tak jak chciałem.
  1. $godz=date('H')+1;
  2. for($i=23;$i>=0;$i--)
  3. {
  4. $czas .= str_pad(($godz+$i)%24,2,'0',STR_PAD_LEFT).PHP_EOL;
  5. }
  6. echo $czas;


Próbuje jeszcze dodać jakiś tekst do zmiennej $czas w momencie kiedy godzina na serwerze będzie odpowiadać liczbie ze zmiennej i nie wiem jak sprawdzić czy godzina serwera = liczba ze zmiennej $czas...
Na chwile obecną mam coś takiego i nie działa, pokazuje klasę godzinę później.
  1. function lista_24h(){
  2. $godz=date('H')+1;
  3. $czas ='<ul>'.PHP_EOL;
  4. for($i=23;$i>=0;$i--)
  5. {
  6. if($godz == ($godz+$i)%24){$class=' class=\'active\'';}
  7. $czas .= '<li'.$class.'><a href=\''.$link.'?godz='.str_pad(($godz+$i)%24,2,'0',STR_PAD_LEFT).'\'>'.str_pad(($godz+$i)%24,2,'0',STR_PAD_LEFT).'</a></li>'.PHP_EOL;
  8. }
  9. $czas .= '</ul>';
  10. return $czas;
  11. }
  12. echo lista_24h();
Go to the top of the page
+Quote Post
golabow
post
Post #4





Grupa: Zarejestrowani
Postów: 53
Pomógł: 17
Dołączył: 4.07.2014

Ostrzeżenie: (0%)
-----


Spróbuj określić co chcesz uzyskać bo aktualnie jeżeli listujesz od aktualnej godziny to zawsze pierwszy element listy bedzie aktywny, więc nie ma sensu sprawdzania warunku.
Warto też ustawić poprawną strefe czasową date_default_timezone_set
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 04:15