![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 2 Dołączył: 15.12.2012 Ostrzeżenie: (10%) ![]() ![]() |
Witam, stworzyłem sobie logowanie i chce aby za każde logowanie ale co 24h do kolumny punkty dodawało +10 stworzyłem więc takie zapytanie
i działa lecz za każdym razem gdy się zaloguje dodaje mi +10 punktów a ja chcę aby było co 24h w bazie mam zapis ostatniego logowania w kolumnie ostatnio. Co zrobić? Jak to zrobić? Ten post edytował Killerek 15.12.2012, 21:31:17 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
...AND (ostatnio+24h) >= NOW()
odnośnie działanie w nawiasie odsyłam do mysql'owego manuala. W sumie to nie zadziała, bo 'ostatnio' ciągle Ci się aktualizuje po zalogowaniu. Może odpalaj skrypt CRONem przykładowo o 00:01 i po prostu sprawdzaj, czy dzień wcześniej było logowanie na to konto. Ten post edytował Damonsson 15.12.2012, 21:37:07 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 2 Dołączył: 15.12.2012 Ostrzeżenie: (10%) ![]() ![]() |
...AND (ostatnio+24h) >= NOW() odnośnie działanie w nawiasie odsyłam do mysql'owego manuala. W sumie to nie zadziała, bo 'ostatnio' ciągle Ci się aktualizuję po zalogowaniu. Może odpalaj skrypt CRONem przykładowo o 00:01 i po prostu sprawdzaj, czy dzień wcześniej było logowanie na to konto. Czyli ma to wyglądać tak:
czy
czy zupełnie inaczej? //edit o CRONie nie mam zielonego pojęcia... Ten post edytował Killerek 15.12.2012, 21:38:49 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Nie, bo ten warunek nigdy nie będzie spełniony, chyba, że ktoś zaloguje się tylko i wyłącznie raz na 24h, jak zaloguje się częściej to ciągle będzie opóźniał ten czas i w sumie to nigdy nie będzie różnicy większej niż 24h.
Jak nie chcesz się brać za Crona, to możesz spróbować zrobić nową kolumnę w tabeli i w przypadku dodania punktów nadawać jej np status 1 i sprawdzać tak: UPDATE $tabela SET status=1, `punkty`=`punkty`+10, ostatnio=NOW() WHERE login='$login' AND (ostatnio+24h) >= NOW() AND status = '1' Oczywiście musisz na start jakoś przypisać ten status 1, żeby było się do czego odwoływać, np podczas rejestracji. (ostatnio+24h) - to jest pseudokod |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 2 Dołączył: 15.12.2012 Ostrzeżenie: (10%) ![]() ![]() |
Nie, bo ten warunek nigdy nie będzie spełniony, chyba, że ktoś zaloguje się tylko i wyłącznie raz na 24h, jak zaloguje się częściej to ciągle będzie opóźniał ten czas i w sumie to nigdy nie będzie różnicy większej niż 24h. Jak nie chcesz się brać za Crona, to możesz spróbować zrobić nową kolumnę w tabeli i w przypadku dodania punktów nadawać jej np status 1 i sprawdzać tak: UPDATE $tabela SET status=1, `punkty`=`punkty`+10, ostatnio=NOW() WHERE login='$login' AND (ostatnio+24h) >= NOW() AND status = '1' Oczywiście musisz na start jakoś przypisać ten status 1, żeby było się do czego odwoływać, np podczas rejestracji. (ostatnio+24h) - to jest pseudokod kolumna status odpowiada za to czy konto jest aktywowane czy jest zbanowane itp. Jak możesz to przyjmij na GG wysłałem zaproszenie. jak zrobiłem to w ogóle nie dodaje punktów. Ten post edytował Killerek 15.12.2012, 21:51:50 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 13 Dołączył: 7.04.2012 Ostrzeżenie: (10%) ![]() ![]() |
(ostatnio+24h) - to jest pseudokod Ten post edytował vifus 15.12.2012, 22:58:55 -------------------- Zlecenia PHP / MYSQL / JAVASCRIPT / C++ / CSS / HTML na PW
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:12 |