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

Fóruns PHP - como lidar com discussões/tópicos/postagens não lidas


Não há muitas opções.

  1. marque cada thread de leitor por cada usuário.
    • Desvantagens:muitas linhas em fóruns muito ativos
    • Vantagens:Todo usuário sabe com a postagem que leu ou não.

  2. marque todos os tópicos não lidos por cada usuário.

    • Desvantagens:muito espaço com linhas "não lidas" se houver inatividade de muitos usuários
    • Soluções:adicione um timestamp vitalício e exclua registros antigos com um cron
    • Vantagens:Todo usuário sabe com a postagem que leu ou não.

  3. use carimbos de data/hora para determinar se a mostra como não lida ou não.
    • Desvantagens:Os usuários não sabem com os tópicos reais não lidos, as marcas mostram apenas os "novos trheads" desde o último login
    • Vantagem:economize espaço

A outra alternativa é misturar soluções, ou seja,

1 e 3) mostram o tópico como "não lido" se não tiver mais de X dias e não houver uma linha marcada como lida para o usuário. As linhas "lidas" podem ser excluídas quando forem X dias mais antigas sem afetar nada.

Vantagens
  • menos espaçamento usado para determinar encadeamentos não lidos

Desvantagens
  • crie um cron que mantenha o sistema limpo
  • Os usuários não sabem se lêem tópicos com mais de x dias.

Vantagens
  • Todo usuário sabe quais "novas postagens" leu ou não.