最も単純な 方法は、誰かが最後にログインした時間を追跡することです。彼らが再び訪問したとき、それ以降に更新されたものはすべて明らかに「新しい」ものです。
ただし、ログアウトするとすべてのアイテムが既読として効果的にマークされるため、これにはいくつかの問題があります。
私が考えることができる他の唯一の方法は、すべてのスレッドと、各ユーザーが見たそのスレッドの最新の投稿を含むテーブルを維持することです。
user_id thread_id post_id
1 5 15
1 6 19
その情報を使用して、スレッド#5に15より大きいIDを持つ投稿がある場合、そこに未読の投稿があることがわかります。このテーブルは、そのページの最新の投稿のpost_idでのみ更新してください。 。つまり、新しい投稿が3ページあり、ユーザーが最初の投稿のみを表示した場合でも、未読の投稿があることがわかります。