![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się w jaki sposób oznaczać nieprzeczytane wiadomości użytkowników.
Teoretycznie można oznaczać przeczytane w pliku cookie usera. Ale zastanawiam się jakie znacie inne rozwiązania, bo przy tym użyciu cookie pojawia się problem nie akceptowanie przez przeglądarki i ew. utrata pliku. Zastanawiam się czy nie lepiej było by to ewidencjonować w bazie, ale to ozacza że każdy użytkownik musi miec swoją tabelę. Choć wydaje się to dość proste, bo oznacza realnie jednego select i jednego inserta, ale generuje pewne obciążenie jeżeli mamy paruset usererów i przy tym paredziesiątysięcy postów. Bo oznacza to pareset tabel. Ten post edytował Wykrywacz 27.02.2007, 16:00:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Niekoniecznie trzeba od razu wstawiać tam te wpisy po napisaniu posta. Na pewno masz gdzieś w bazie danych zapisaną datę ostatniej aktywności użytkownika. Gdy użytkownik zaloguje się ponownie odczytasz tą datę i wszystkie nowsze posty dopisujesz do tej tabeli jako nieprzeczytane.
Można też zrobić jakiś limit czasowy, np. tydzień. Jeśli ostatnie logowanie użytkownika nastąpiło 1;2;3;4;5;6;7dni temu, to wszystkie nowsze posty dopisujesz do tej tabeli. Jeśli więcej niż 7 dni temu, to dopisujesz tylko posty z ostatniego tygodnia, a całą resztę użytkownik będzie widział jako przeczytane, chociaż niekoniecznie tak musiało być. Natomiast jeśli jakiś użytkownik uzna twoje forum za nieciekawe i już go nigdy nie odwiedzi, to przynajmniej nie będzie zatruwał bazy danych wpisami o nieprzeczytanych postach. Sposób wymyślony na poczekaniu, więc być może ktoś już wymyślił coś prostszego i skuteczniejszego. Trzeba poszperać po kodach źródłowych for dyskusyjnych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 10:15 |