Guten Morgen,
ich bin gerade dabei ein Forum zu schreiben. Ich möchte es dabei realisieren, dass ein registrierter Nutzer sieht, in welechen Threads es ungelesene Posts gibt.
Ich habe mir gedacht, ich speichere beim Login in eine Session, wann der letzte Login war und vergleiche es mit den Posts. Ist der Post neuer, Treffer, ist er älter, kein Treffer.
So weit so gut.
Pro:
:arrow: Kein Speicherplatz in der Datenbank
:arrow: Wenig Code
Kontra:
:arrow: Wird die Sitzung beendet, hat er aus Systemsicht alle Posts automatisch gelesen.
Wie würdet Ihr es machen, dass der Kontrapunkt wegfällt?
Habe mir überlegt jeden gelesenen Post in einer Datenbank zu speichern, zu jedem User.
Probleme:
:arrow: 500 Posts, 100 User
:arrow: 50.000 Datenbankeinträge
Als nächstes habe ich mir die Umkehrung des ganzen überlegt. Nicht gelesene Einträge in die Datenbank. Alle einträge älter als ein Monat werden gelöscht.
Probleme (Angenommen es gibt 100 User:
:arrow: Bei jedem Post werden 100 Einträge + der des Postes vorgenommen
:arrow: id = integer (2.147.483.647), wird diese Zahl überschritten, Schicht im Schacht.
Gut kann also auch nicht sein. Weitere Überlegung: Zu jedem Thread nur einen Timestamp speichern, wann dieser zuletzt gelesen wurde. Resultat ist aber eigentlich genau dasselbe wie bei meiner ersten Überlegung, wo die Datenbank ins Spiel kommt.
Wie wird sowas in den modernen Foren umgesetzt? Wie würdet ihr das ganze machen? War vielleicht eine Lösungmöglichkeit von mir doch garnicht mal so falsch?
Vielen Dank für eure Hilfe :razz: