Mysql
 sql >> Base de données >  >> RDS >> Mysql

Forums PHP - comment gérer les discussions/sujets/messages non lus

Il n'y a pas beaucoup de choix.

  1. marquer chaque fil de lecteur par chaque utilisateur.

    • Inconvénients :beaucoup de lignes dans des forums très actifs
    • Avantages :Chaque utilisateur sait avec le message qu'il a lu ou non.
  2. marquer chaque fil non lu par chaque utilisateur.

    • Inconvénients :beaucoup d'espace avec des lignes "non lues" en cas d'inactivité de nombreux utilisateurs
    • Solutions :ajoutez un horodatage à vie et supprimez les anciens enregistrements avec un cron
    • Avantages :Chaque utilisateur sait avec le message qu'il a lu ou non.
  3. utilisez des horodatages pour déterminer s'il est affiché comme non lu ou non.

    • Inconvénients :les utilisateurs ne connaissent pas les vrais fils de discussion non lus, les marques n'affichent que les "nouveaux fils de discussion" depuis la dernière connexion
    • Avantage :Économisez de l'espace

L'autre alternative est de mélanger les solutions, c'est-à-dire

1 et 3) affichent les threads comme "non lus" s'ils ne datent pas de plus de X jours et qu'il n'y a pas de ligne marquée comme lue pour l'utilisateur. Les lignes "lues" peuvent être supprimées lorsqu'elles ont X jours de plus sans rien affecter.

Avantages

  • moins d'espacement utilisé pour déterminer les fils de discussion non lus

Inconvénients

  • créer un cron qui maintient le système propre
  • Les utilisateurs ne savent pas s'ils lisent des fils de discussion datant de plus de x jours.

Avantages

  • Chaque utilisateur sait quels "nouveaux messages" ont lu ou non.