Frage zum Forum

caramba12321

blödefragensteller
Hallo liebe Community.

Ich und meine Freunde haben ein relativ großes Forum aufgebaut (ca. 6000 registrierte User). In diesem Forum hatten wir bis jetzt über Cookies realisiert, ob ein in einem Thread ein neuer Beitrag ist also status new = 1 oder nichts neues in diesem Beitrag gepostet wurde also status new = 0.
Da Cookies aber sind wollen wir das nun anders lösen und ich wollte mal fragen, wie das die ganzen großen Boards zu realisieren?

Bin wie immer für konstruktive Beiträge dankbar.
Gruss
Caramba
 
Ich hab eine seperate Tabelle wo die ThreadID, die UserID und die Besuchszeit festgehalten werden. So kann ich fuer jeden User feststellen ob und wann dieser einen bestimmten Thread aufgesucht hat. In Verbindung mit der Zeit des letzten Posts in dem Thread kann ich dann eindeutig feststellen ob es neue Posts in diesem Thread gibt.
 
Und wann aktualisierst du das dann? Weil der logik entsprechend müssten dann doch alle Threads auf gelesen stehen (nach einem Klick).
 
Warum sollten nach einem Klick alle Threads auf gelesen stehen?
Jedes Mal wenn ein User einen Thread oeffnet wird in der Tabelle nachgesehen ob dieser User diesen Thread bereits besucht hat. Ist dies der Fall wird bei diesem Eintrag lediglich die Zeit aktualisiert. Gibt es noch keinen Eintrag fuer diesen Thread wird er halt erstellt.
 
Hab mal ne Frage zu Dennis Beitrag. Ist das nicht etwas unperfomant? Ich meine, wenn ein Forum wie oben gesagt 6000 User hat und jeder User sagen wir mal im Schnitt > 100 Threads besucht hat. Hab nicht so Erfahrung mit der Performance von MySql.

MfG Mau
 
Ich glaube, er hat da noch etwas weiteres eingebaut.
Bei jedem Login eines Users, wird da gleube ich von vorne angefangen. D.h. wenn man sich neu einloggt, werden alle Themen zu einem User, die zuvor in dieser Tabelle standen gelöscht und es wird bei null angefangen.

Ich glaube, dass hatte er mal in eienm anderen Post geschrieben. (alle Angaben ohne Gewehr ^^)
 
Zuletzt bearbeitet:
Also, wenn ich mich einlogge, sind für mich alle Beiträge seit meinem letzten Login neu, wenn ich mich dann so durchklicke werden die beiträge als gelesen markiert, die die ich aber nicht gelesen habe (welche aber neue Messages beinhalten) werden trotzdem beim nächsten Login als gelesen markiert? Sehe ich das richtig?
 
fanste hat gesagt.:
Ich glaube, er hat da noch etwas weiteres eingebaut.
Bei jedem Login eines Users, wird da gleube ich von vorne angefangen. D.h. wenn man sich neu einloggt, werden alle Themen zu einem User, die zuvor in dieser Tabelle standen gelöscht und es wird bei null angefangen.

Ich glaube, dass hatte er mal in eienm anderen Post geschrieben. (alle Angaben ohne Gewehr ^^)
Nee, nicht ganz.
Ich hatte mal eine Idee geaeussert die mit dem Loeschen von solchen Eintraegen zu tun hatte aber mir faellt jetzt auch nicht mehr ein wie die aussah. Moeglicherweise etwas mit einem Verfallsdatum fuer Posts, sodass ein Thread auch dann als gelesen gilt wenn er zum Beispiel einen Monat nicht besucht wurde. Wenn er besucht wurde, aber vor ueber einem Monat zuletzt aktualisiert wurde koennte dann dementsprechend der Eintrag geloescht werden und der Thread wuerde trotzdem als gelesen markiert bleiben. Wenn dann ein neuer Post dort verfasst wird ist er ja dann auch automatisch wieder neu.
Alternativ koennte man theoretisch auch alle Eintraege zu einem Thread loeschen wenn dort ein Post erstellt wird. So braucht man dann nichtmal TimeStamps zu vergleichen.

:offtopic: @Mauri: Ihr habt doch in Rio sicher noch schoeneres Wetter als wir in Hong Kong, oder?
 
Hmm... Ja das Wetter war gestern wieder mal bombastisch, jetzt ist es gerade aber etwas bewölkt :/ Soll aber im Laufe des Tages besser werden ;)
 
Zurück