Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]OnLine-OffLine od do godziny.
Mike122
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

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


Witam w bazie mam wpisane że np. bot pracuje od 06-12 (czyli od 6 do 12) albo 07-23 itd.

Jak zrobić aby pokazywało czy bot aktualnie pracuje np. jeśli jest według serwera godzina 10 a bot pracuje między 6 a 12 to znaczy że wartość operatora if będzie true.
Napisałem
  1. <?php
  2. $start = 06;
  3. $end = 14;
  4. $h = date("H");
  5. if(($h >= $start) && ($end <= $h)){
  6. echo "Bot OnLine";
  7. }else{
  8. echo "Bot OffLine";
  9. }
  10. ?>

By było dobrze ale jeśli bot indexuje od 23 do 03...
Proszę o pomoc lub nakierowanie jak to zrobić żeby działało poprawnie.
Pozdrawiam

Ten post edytował Mike122 1.07.2007, 22:59:46


--------------------

Największy błąd ze wszystkich błędów to nie słuchać dobrych rad. Nikt nie jest doskonały i nie należy się obrażać za konstruktywną krytykę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Sokal
post
Post #2





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $start = 23;
  3. $end = 3;
  4.  
  5. $month = date("n");
  6. $day = date("d");
  7. $year = date("Y");
  8.  
  9. $from = mktime($start, 0, 0, $month, $day, $year);
  10. $to = mktime($end, 0, 0, $month, $day, $year);
  11. $now = time(); 
  12.  
  13. if(($from <= $now) && ($to >= $now))
  14. {
  15. echo "Bot OnLine";
  16. }
  17. else
  18. {
  19. echo "Bot OffLine";
  20. }
  21. ?>


--------------------
Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
Go to the top of the page
+Quote Post
Kicok
post
Post #3





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Po mojemu to będzie tak:

  1. <?php
  2.  
  3.  
  4. $start = '23';
  5. $end = '03';
  6. // - - - - - - - - - -
  7.  
  8.  
  9. // Obcinamy początkowe zera, żeby skrypt nie uznawał tego za liczby w systemie
  10. // ósemkowym i konwertujemy na int
  11. $start = intval( ltrim( $start, '0' ) );
  12. $end = intval( ltrim( $end, '0' ) );
  13.  
  14. // Pobieramy aktualną godzinę (użyj gmdate() lub date() w zależności od tego, czy
  15. // godziny zapisane w bazie są w GMT czy w lokalnej strefie czasowej)
  16. $hour = gmdate( 'H' );
  17.  
  18.  
  19. // Jeśli $start jest mniejsze lub równe $end, to sprawdź czy: $start <= $hour <= $end
  20. if( $start <= $end )
  21. {
  22. if( ( $start <= $hour ) && ( $hour <= $end ) ) {
  23. echo 'Bot Online';
  24. }
  25. else {
  26. echo 'Bot Offline';
  27. }
  28. }
  29. // Jeśli $start jest większe niż $end, to sprawdź czy: $start <= $hour
  30. // lub czy: $hour <= $end
  31. else
  32. {
  33. if( ( $start <= $hour ) || ( $hour <= $end ) ) {
  34. echo 'Bot Online';
  35. }
  36. else {
  37. echo 'Bot Offline';
  38. }
  39. }
  40.  
  41.  
  42. ?>


Ten post edytował Kicok 2.07.2007, 07:51:17


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 19:01