Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie zeigen Foren ungelesene Themen an?

Das einfachste Möglichkeit ist, nachzuverfolgen, wann jemand zuletzt eingeloggt war. Wenn er wieder zu Besuch kommt, ist alles, was seitdem aktualisiert wurde, offensichtlich "neu".

Dies hat jedoch einige Probleme, da das Abmelden effektiv alle Elemente als gelesen markiert.

Die einzige andere Möglichkeit, die ich mir vorstellen könnte, wäre, eine Tabelle zu führen, die alle Threads und den neuesten Beitrag in diesem Thread enthält, den jeder Benutzer gesehen hat.

user_id   thread_id   post_id
      1           5        15
      1           6        19

Wenn es in Thread Nr. 5 einen Beitrag mit einer ID größer als 15 gibt, wissen Sie mit diesen Informationen, dass es dort ungelesene Beiträge gibt. Aktualisieren Sie diese Tabelle nur mit der post_id des letzten Beitrags auf dieser Seite . Das heißt, wenn es 3 Seiten mit neuen Beiträgen gibt und der Benutzer nur die erste Seite ansieht, weiß er trotzdem, dass es ungelesene Beiträge gibt.