![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 4 Dołączył: 4.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od dawna męczy mnie to zagadnienie i jakoś nie potrafię z nim sobie poradzić... Jak rozwiązać problem nowych (nieprzeczytanych) postów i tematów? dla użytkowników? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Moim zdaniem najprostsze rozwiązanie... Pierwsze zalogowanie usera to stworzenie mu X rekordów z najnowszymi postami. Potem musisz tę tabelę kontrolować. Wejście na dany temat to usunięcie postów z tego tematu jako "przeczytanych". Problemem jest wyłapywanie postów pojawiających się pomiędzy akcjami usera. Musisz bowiem kontrolować czasy tych akcji i na bieżąco korygować wszystko. Dlatego w sesji i/lub danych usera musisz te informacje przechowywać by móc na nich opierać swoje działania. Przykładowo user sobie coś robi na stronie, ale Ty musisz wiedzieć kiedy ostatnio robił coś na forum, bo tylko taka dana Cię interesuje. Jeśli wszedł na forum... Zapisz ten czas. Gdy przejdzie na inna stronę forum -> dopisz posty powstałe od czasu ostatniej aktywności na forum do tej jego "tabeli" i zapisz czas kiedy to zrobiłeś w jego danych. On forum czyta to odejmujesz przeczytane posty ale jednocześnie sprawdzasz czy nie ma nic nowego.
Sprawa więc wygląda tak, że przy każdym przejściu WEWNĄTRZ struktury forum pobierasz wszystkie posty od momentu ostatniej aktywności na forum, a czasem aktualnym i dokładasz je do tabelki, aktualizujesz zaraz po tym sprawdzeniu czas ostatniej bytności na czas aktualny. Wyjście z forum nie zmienia nic, ponieważ masz tabelę nieprzeczytanych postów i czas ostatniej aktywności forumowej. Wejście na dowolna stronę forum powoduje sprawdzenie czasu i dopisanie ewentualnych nowych postów do tabeli oraz aktualizację tego czasu. Jesteś wtedy na bieżąco z postami. Jeszcze tylko musisz kontrolować liczbę tych postów by w razie przekroczenia X usuwać najstarsze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 21:23 |