Zur Navigation

Beiträge neu/al anzeigen lassen

1 Yoshi

Ich habe vor mir ein eigens Forum selbst zu bauen, doch bei einer Sache komme ich beim besten Willen nicht weiter.

Wie schaffe ich es, das Beiträge in einem Forum die noch nicht gelesen wurden als neu bzw. alt angezeigt werden?

Habe mir schon überlegt für jedes Thema einfach eine Tabelle zu erstellen mit alles Usernamen und dann reinschreiben welcher Beitrag schon gelesen worden ist. Aber diese Lösung ist einfach zu Serverlastig. Deswegen suche ich eine alternative Methode.

Kennt jemand eine Lösung meiner Frage?

27.01.2007 15:40

2 Jörg Kruse

Hallo Yoshi,

eine Möglichkeit (die auch in diesem Forum umgesetzt wurde):

du benötigst zwei Timestamp-Spalten in der User-Tabelle. Der eine Timestamp wird bei einem Zugriff des Users als Last-Visit-Timestamp gesetzt. Wenn der letzte Besuch länger als x Stunden zurückliegt wird zudem in eier weiteren Spalte ein Timestamp gesetzt, bei dem man davon ausgehen kann, dass bis zu diesem Zeitpunkt alle Beiträge gelesen sind. Bei der Auflistung von Beiträgen wird dann dieser Timestamp mit dem Timestamp der Erstellung der Beiträge verglichen, um alte von neuen Beiträgen zu unterscheiden

27.01.2007 15:54 | geändert: 27.01.2007 15:56

3 Yoshi

Darüber habe ich auch schon mal nachgedacht (bzw. über sowas ähnliches was auch mit Timestamps arbeitet)

Aber wie schaffe ich es dann, das Beiträge die noch nicht gelesen wurde auch nach ein paar Tagen immer noch als neu angezeigt werden? Und nicht nach (z.b. 6 Stunden) als alt?

Oder gibt es da eine andere Möglichkeit? (falls du noch eine weißt)

Trotzdem schon mal danke für deine Bemühungen!

28.01.2007 22:50

4 Jörg Kruse

Ja, ich glaube, ich muss diesen Satz auch nochmal präzisieren:

Zitat von Jörg
Wenn der letzte Besuch länger als x Stunden zurückliegt wird zudem in eier weiteren Spalte ein Timestamp gesetzt, bei dem man davon ausgehen kann, dass bis zu diesem Zeitpunkt alle Beiträge gelesen sind.

In der zweiten Spalte wird nicht der aktuelle Timestamp gesetzt, sondern der alte Timestamp der ersten (Lastvisit-)Spalte für die zweite Spalte übernommen.

Beispiel, in welchem x Stunden = 3 Stunden:

Jemand ruft nach einer Stunde wieder eine Forumseite auf - es wird kein Timestamp in der zweiten Spalte gesetzt

Jemand ruft nach fünf Stunden wieder das Forum auf: der fünf Stunden alte Timestamp wird in die zweiten Spalte übergetragen. Alle Beiträge seit seuinem letzten Aufruf werden dann als neu markiert

28.01.2007 23:17

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]