![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Dopiero co zaczynam wtajemniczać się w php oraz mysql i mam takie pytanie. W bazie danych posiadam tabele "uzytkownicy" a w niej rekordy: "id", "login", "punkty", "ip" Potrzebuje teraz napisać mały skrypt znajdujący się na podstronie x.php, który automatycznie po wyświeleniu tej strony dodaje 1 punkt użytkownikowi który by na tą stronę wszedł z ograniczeniem do jednego razu na 24h Łopatologicznie ujmując wchodzę na podstronę x.php otrzymuję 1 punkt, wchodzę drugi raz po 24h otrzymuje 2 punkt, a wejde wcześniej niż 24h wyskakuje komunikat, że punkty na dzisiaj już zostały przydzielone. Strona ta będzie dostępna tylko dla zalogowanych uzytkownikow ale sesje logowania już posiadam. Pomoże ktoś? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Możesz to np. rozwiązać w taki sposób, że dorabiasz w bazie pole, w którym będzie przechowywana data ostatniego dodania punktu danemu userowi i na tej podstawie określasz - czy przyznać kolejny punkt czy wyświetlić komunikat, że użytkownik w ciągu ostatniej doby dostał już punkt. Oczywiście po przyznaniu punktu update-ujesz dane pole aktualną datą.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dorzucasz do bazy pole points_time i:
Ten post edytował Majkelo23 24.02.2012, 20:55:03 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Logikę ci podam:
-dodaj sobie do tabeli pole: data_wejscia timestamp na updacie current_timestamp -Użytkownik wchodzi na stronę -jeżeli zalogowany to pobierz z bazy data_wejscia tego użytkownika (select data_wejscia where id= id usera) -sprawdź czy data_wejscia <= teraz-24 godziny -jeżeli tak dodaj punkt (update punkty = punkty+1) -jeżeli nie wyświetl informacje |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 24.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję problem rozwiązany
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 4 Dołączył: 12.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
A ja bym polecał zamiast
punkty = punkty + 1 zrobić dodatkowa tabelę user_points id | user_id | datetime | points i tam trzymac wszystkie punkty. Sumowanie: SELECT SUM(points) AS pkt FROM `user_points` WHERE user_ID='{ID}' Zaletą jest to, iz mamy historię punktów - może na tym etapie być nieprzydatne, ale kto wie jak się rozwinie skrypt? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 28.02.2012 Ostrzeżenie: (10%) ![]() ![]() |
dokładnie
dokładnie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:07 |