Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie x przez dany okres
Forum PHP.pl > Forum > PHP
matrik
Witam
Jest tego pełno w sieci, ale nie działa jak powinno haha.gif

Można to opisać na przykładzie:
Co godzinę wydobywa się 210 jednostek metalu co godzinę.
Pewien użytkownik odświeża skrypt co pare sek. i dziwnym sposobem dodaje mu 80 jednostek na 46 sek.

t = roznica czasu time();
s = 210 jednostek metalu / 120
x = t/s
questionmark.gif

Zna ktoś sprawdzony skrypt na emulowanie takiego wydobycia jak w przykładzie?
Pozdrawiam
Quadina
To zależy czy ma się emulować dodawanie w ciągu czasu, czy co zadany czas. Podam przykład dla ciągu czasu
  1. $roznica = time() - $ostatnie_wywolanie; // ostatnie z bazy
  2.  
  3. $nalezy_dodac = 210* $roznica/3600;

Otrzymamy wartość z dużym przecinkiem, którego nie należy w żaden sposób zaokraglać. Pojawia się wtedy błąd taki, że przy dobrym pomyślunku można przeliczyć co ile sekund odświerzyć, żeby dodawało częściej. Prawdopodobnie stąd Twój błąd. Dodatkowo skąd wzięło ci się 120? Godzina to 3600 sekund (60 minut * 60 sekund).
matrik
a jak np wyświetlić w
$czas = 3600*24*27;
echo date('d H:i:s',$czas);

Powinno wyświetlić 27 0:0:0
Jak zrobić coś takiego nie pisząc kodu obliczającego po kolei dni?
CuteOne
daty i ogólnie czas to rzecz strasznie zjadliwa i łatwo narobić sobie problemów kombinując - innymi słowy zrób kod liczący
matrik
A jak można napisać funkcję która by obsługiwała obliczanie czasu?
np podaje licz(760);
i pisze 12min 40 sek
phpion
Zwykłe obliczenia matematyczne. Przykład: http://www.ckorp.net/sec2time.php
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.