![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 19.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Macie pomysł jak napisać skrypt, który będzie oznaczał te rekordy w bazie mysql, które użytkownik już widział i nie chce ich ponownie wyświetlać? Mogłbym utworzyć nową tabelę i tam dodawać każdy rekord ze statusem przeczytane, ale takich rekordów będzie 1000 dla jednego użytkownika więc starsznie dużo tego wyjdzie. Chodzi mi o coś w style jak np. na forach jest. Oznacz temat jako przeczytany itp. Z góry dzięki za pomoc (IMG:style_emoticons/default/wink.gif) |
|
|
![]() |
![]()
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 ![]() |
Bo takie rozwiązanie się zawsze optymalizuje. To nie tak, że co sekundę się wali userowi coś do bazy (IMG:style_emoticons/default/wink.gif) Najczęściej takie działania są robione tylko podczas interakcji usera ze skryptem. Po co zawalać tę bazę dla usera, który nie zalogował się od pół roku? Takie coś się robi gdy się on w końcu zaloguje i gdy odwiedza stronę gdzie informacja o nowych jest widoczna. Dodatkowo ustawia się limity. Aplikacja przechowuje ostatni czas aktywności usera i sprawdza, czy w międzyczasie nie pojawiły nowe posty. Jeśli są - dokłada te informacje do puli. Wszystko ponad limit wylatuje. Dodatkowo wszystkie nowe posty które user widzi po wejściu na stronę są usuwane z puli lub, co także częste, wszystkie posty z odwiedzonego tematu są uznawane za przeczytane. Można kombinować w inne strony, ustalając limity na kilka wariantów (albo limit postów, albo tematów czy też dni/godzin wstecz) i wybierając najbardziej odpowiadający nam.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 19:08 |