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

PHP-Foren - wie man mit ungelesenen Diskussionen / Themen / Beiträgen umgeht

Es gibt nicht viele Möglichkeiten.

  1. Markieren Sie jeden Leser-Thread von jedem Benutzer.

    • Nachteile:viele Streitereien in sehr aktiven Foren
    • Vorteile:Jeder User weiß mit Post gelesen oder nicht.
  2. Markieren Sie jeden ungelesenen Thread von jedem Benutzer.

    • Nachteile:viel Platz mit "ungelesenen" Zeilen bei Inaktivität vieler Benutzer
    • Lösungen:Fügen Sie einen lebenslangen Zeitstempel hinzu und löschen Sie alte Datensätze mit einem Cron
    • Vorteile:Jeder User weiß mit Post gelesen oder nicht.
  3. Verwenden Sie Zeitstempel, um zu bestimmen, ob es als ungelesen angezeigt wird oder nicht.

    • Nachteile:Die Benutzer wissen nicht, was die wirklich ungelesenen Threads sind, die Markierungen zeigen nur die "neuen Threads" seit dem letzten Login
    • Vorteil:Platz sparen

Die andere Alternative ist das Mischen von Lösungen, also

1 und 3) zeigen Threads als "ungelesen", wenn sie nicht älter als X Tage sind und es keine Zeile gibt, die für den Benutzer als gelesen markiert ist. Die "gelesenen" Zeilen können ohne Auswirkung gelöscht werden, wenn sie X Tage älter sind.

Vorteile

  • Weniger Abstand wird verwendet, um ungelesene Threads zu ermitteln

Nachteile

  • Erstellen Sie einen Cron, der das System sauber hält
  • Benutzer wissen nicht, ob sie Threads lesen, die älter als x Tage sind.

Vorteile

  • Jeder Nutzer weiß, welche "neuen Beiträge" er gelesen hat oder nicht.