![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 4.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam problem, nie mam pojecia jak zabrac sie za napisanie skryptu.
Mam w bazie danych wartość która daje uzytkownikowi godzinną dawkę punktów. To udało mi się zrobić ale nie mam pojęcia jak to przerobić tak aby user co sekunde dostawał okresloną wartość z tej godzinnej dawki punktów. wiem ze te godzinną dawkę punktów trzeba podzielić na 3600 bo tyle mamy sekund w godzinie ale teraz nie mam pojęcia jak je zliczać. I od razu zaznaczam ze odswiezanie strony co sekunde nie wchodzi w grę. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat wiem ze te godzinną dawkę punktów trzeba podzielić na 3600 bo tyle mamy sekund w godzinie ale teraz nie mam pojęcia jak je zliczać. Obliczasz liczbę sekund między wejściami (zapisujesz sobie np. w sesji) i tę liczbę mnożysz przez 1/3600 z punktów godzinnych. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Już było coś takiego - złocie czy innych zasobach.
Zapisujesz w bazie datę ostatniego wyświetlenia danej informacji (np. karty gracza), po czym przy następnym wyświetleniu liczysz ile odcinków czasu (w Twoim przypadku sekund) minęło od tej zapisanej daty, modyfikujesz to odpowiednim współczynnikiem (punkty), aktualizujesz wpis w bazie, aktualizujesz datę wyświetlenia - i pokazujesz kartę graca na ekranie. Jeżeli danej karty nikt nie odwiedza prze tydzień - nic się nie stanie - bo prostu punkty naliczą się po tym tygodniu. A dzięki temu nie obciążasz bazy cyklicznymi operacjami. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
i najlepiej do tego uzyc daty unixowej, dzialac na niej a tylko na sam koniec, przy wyswietlaniu rezulatatow userowi zamienic unixowa na normalna.
-------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat i najlepiej do tego uzyc daty unixowej Do zapisu danych w SQL najlepszy jest właśnie timestamp, a nie integer. ;] Konwersji między formatami możesz dokonać w locie, ale gdzieś czytałem, że lepiej zapisywać w formatach datoznacznikowych. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 4.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
a moge prosić o jakiś przykładowy kod? bardzo by mi to pomogło gdyż puki co dalej z tym walcze
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Też niedawno walczyłem z czymś takim. Potrzebowałem różnicy między dwiema datami (tą w bazie a obecną) podaną w sekundach.
Masz tu moją funkcję: Funkcja zwróci ilość sekund między dwiema datami. Ten post edytował sadistic_son 13.09.2009, 11:11:43 -------------------- Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami... -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:04 |