![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że chce wyświetlić użytkownikowi możliwość zdobywania osiągnięć, a każde osiągnięcie ma swój własny postęp i zostanie zrealizowane gdy osiągnie swój max.postęp - o ile max.postęp zostanie osiągnięty w max.30dni od chwili zrealizowania pierwszego postępu.
Przykład: 1. Tytuł osiągnięcia: Aktywny komentator 2. Opis osiągnięcia: podejmij się napisania 15x różnorodnych komentarzy powyżej 100 znaków w ciągu 30 dni. 3. Postęp: 0 / 15 Stworzyłem sobie funkcje, która wyświetla właściwy html, ale mam zagwozdkę jak rozsądnie stworzyć bazę danych, bo każde osiągnięcie można zrealizować wciągu 30 dni od chwili zrealizowania pierwszego "postępu", a to wyklucza proste i optymalne rozwiązanie jakim jest wrzucenie wszystkiego w jedną tabele pod ID_USERA i jedynie updatowanie poszczególnych osiągnięć +1 w danym wierszu. Tutaj raczej trzeba dodać jeszcze date realizacji i ew. crona do czyszczenia, a to generalnie zrobi wielki ruch w tabeli, bo z np. 1000000 wpisów zrobi się 1000000*ilość osiągnięć*max.postęp. Nie jestem zbyt zaawansowany więc niestety nie znam wielu fajnych rozwiązań więc zanim zrobię to tak, jak to widzę w powyższym okropnym opisie wolę zapytać czy istnieje lepszy pomysł? Tak to widzę:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Każdy postęp jest innym działaniem. Myślę, że za pomocą unikalnego ID. Jeszcze dokładnie tego nie przemyślałem, ale tak to widzę.
Przykładowo jeśli chodzi o przykład: Cytat Przykład: 1. Tytuł osiągnięcia: Aktywny komentator 2. Opis osiągnięcia: podejmij się napisania 15x różnorodnych komentarzy powyżej 100 znaków w ciągu 30 dni. 3. Postęp: 0 / 15 To myślę aby każdy komentarz przed insertem w komentarze sprawdzić dodatkowo pod kątem ilości znaków i jeśli znaki>99, to +1 do postępu z ID(osiagniecia_komentarze) edit: ha!... czyli jeśli zastosuje rozwiązanie z edit3 będę musiał za każdym razem weryfikować w jaki dzień dodać update+1 - troche kulawo... Ten post edytował phpuser88 1.05.2022, 15:25:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:23 |