Pobieranie nowych postów

Cześć!
Potrzebuję napisać prosty skrypt forum a konkretnie to jeden z jego typowych elementów. Mianowicie - nie mam pojęcia w jaki sposób wszystkie skrypty forum określają czy dane forum / temat mają jakieś nieprzeczytane posty (dla aktualnie zalogowanego użytkownika). Próbowałem przeglądać kod wszystkich open-sourceowych silników PHP (bo takich jest najwięcej) ale niestety ich kod jest dla mnie nie do rozszyfrowania. Mógł bym także spróbować wyciągnąć to z Discourse ale niestety zanim bym go rozpracował, minęło by strasznie dużo czasu, którego niestety nie posiadam (a i tak nie wiadomo, czy by mi się to udało).

Czy znajduje się tu jakaś dobra dusza, która poratowała by mnie opisem mechanizmu działania takiego algorytmu? Jestem prawie pewien, że odpowiada za to jakiś prosty trik, o którym nie wiem.

O ile dla tematów wydaje się to w miare jasne (zapisuje w bazie ostatnio czytany przez użytkownika post i po prostu sprawdzam, czy w danym temacie pojawiły się od tego czasu nowe posty), o tyle dla całych for skorzystanie z takiej metody wydaje mi się zabójcze dla szybkości i nieoptymalne. Ale oczywiście mogę się mylić!

Z góry dzięki za pomoc.

Odnośnie for - jeszcze przyszło mi do głowy, żeby w tabeli z forum zapisywać id ostatniego posta i określać, czy użytkownik ma to forum “przeczytane” na podstawie tego, czy id ostatniego posta w tym forum jest większe od posta ostatnio przeczytanego przez usera.

Tak to robi Discourse:

1 Like