Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dodawanie wartosci
Forum PHP.pl > Forum > Przedszkole
qwe
Witam mam pewien problem otóż mam kod, który co 2 minuty odejmuje od rekordu stan - 2 jednostki jeśli stan jest większy niż 0. Kod umieszczony jest na stronie, która jest includowana z każdym odświeżeniem.

  1. $wyniki = mysql_fetch_array(mysql_query("SELECT czas, stan FROM users WHERE user='$user'"));
  2.  
  3. $time = mktime();
  4. $ostatnia_aktualizacja = $time + 120;
  5.  
  6. if ($wyniki ['stan'] > 0 ) {
  7.  
  8. if($wynik['czas']> $time){
  9. $pozostalo = $wynik['czas'] - $time;
  10. echo "do załadowania punktów pozostało:";
  11. echo date('00:i:s',$pozostalo) ;
  12. }
  13. else
  14. {mysql_query("UPDATE users SET czas = '$ostatnia_aktualizacja' , stan = stan - 2 WHERE user='$user' ");}
  15. }


Nie wiem jak zrobić aby odjęło odpowiednią ilość w przypadku gdy gracz nie jest zalogowany na stronie.
Chodzi mi o coś podobnego np do gry the crims gdzie co 4 minuty (nie wiem dokładnie) rośnie energia nawet gdy gracza nie ma w grze to i tak po przyjściu i sprawdzeniu czasu dodaje mu odpowiednią ilość tej energi.
Nie chce korzystać z crona.


Proszę o pomoc
thek
W tego typu grach NIE DZIAŁA to tak jak myślisz smile.gif Bo by serwery pozdychały biggrin.gif To jest robione inaczej... Jest oznaczenie czasu ostatniej operacji. Sprawdzana jest ona i synchronizowana przy każdym przeładowaniu strony. Dlatego masz gdzieś cron i inne tego typu wynalazki. Patrzysz na czas obecny, czas zapisany w znaczniku i według niego obliczasz wszystko, jednocześnie aktualizując ów znacznik czasu. Dlatego tak dzialający skrypt jest niewrażliwy na wylaczenie przeglądarki, wylogowanie itp. On aktualizuje tylko i wyłącznie dane pomiędzy kolejnymi przeładowaniami strony smile.gif W czasie pomiedzy nimi nie robi nic. To, że Tobie może się coś pokazywać zmieniającego na bieżąco jest efektem działania JavaScriptu lokalnie najprawdopodobniej i nic więcej 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.