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ę:
#BazaSQL: id_usera | dataRealizacji | osiagniecie1 | osiagniecie2 | osiagniecie3 | 123456 | 21.01.22 | 0 | 0 | 1 | 123456 | 21.04.22 | 0 | 0 | 1 | 123456 | 28.04.22 | 0 | 0 | 1 | 123456 | 01.05.22 | 0 | 0 | 1 | //to jest ID_usera, który ma postęp 3x w Osiągnięciu3 #PHP function osiagniecia($tytul,$postep,$postepMax,$opis){...}