Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como os fóruns mostram tópicos não lidos?


O mais simples O jeito é rastrear a última vez que alguém fez login. Quando eles voltam para visitar, tudo o que foi atualizado desde então é obviamente "novo".

No entanto, isso tem alguns problemas, já que o logout marca efetivamente todos os itens como lidos.

A única outra maneira que eu poderia pensar em fazer isso seria manter uma tabela contendo todos os tópicos e a última postagem naquele tópico que cada usuário viu.
user_id   thread_id   post_id
      1           5        15
      1           6        19

Com essa informação, se houver uma postagem no tópico 5 com um ID maior que 15, você saberá que há postagens não lidas lá. Atualize esta tabela apenas com o post_id da última postagem nessa página . Isso significa que se houver 3 páginas de novas postagens e o usuário visualizar apenas a primeira, ele ainda saberá que há postagens não lidas.