Seite 1 von 3
Neue Themen markieren
Verfasst: 07.10.2003 11:26
von Gore
Hallo,
bin neu hier also bitte nicht flamen
Mein Problem:
Ich code für meine Firma gerade an einem Forum rumm, proggen tun wir in ASP. Der Code ist nicht das Problem, sondern eher die Umsetzung.
Wir möchten gerne das, wenn man sich einlogt, alle neuen Themen markiert sind. Klar könnt ich nen Cookie setzen der das anzeigt, aber wie speicher am besten welches Thema schon gelesen wurde und welches nicht?
Also man muss in ein Thema reingehen können, dieses wird als gelesen markiert und das da drunter ist quasi also noch ungelesen.
Wenn man alle Themen in unserem Forum in einen Cookie speichert wird der sicherlich sehr gross (ca. 3000 Themen), dann gäbe es noch die Möglichkeit den SQl-Server mit ner DB zu bemühen.
Aber bevor ich mich in sinnlose Coderei stürze, wollt ich vorher einmal nachfragen was wohl am sinnigsten wäre
Gruss
Gore
Verfasst: 07.10.2003 11:48
von itst
Verscuchs doch über die Zeit zu machen. Ein Thema ist ja nur dann als "neu" zu markieren, wenn der aktuellste Beitrag zeitlich gesehen nach dem Ausloggen des Benutzers geschrieben wurde.
Sprich neu = timestamp(Neuster_Beitrag) > timestamp(Letztes_Mal_Ausgeloggt)
Verfasst: 07.10.2003 11:52
von Gore
joho, das is klar, aber wo soll ich das am besten speichern?
ich muss ja irgendwann das Thema ja auch als gelesen markieren und zwar dann wenn ichs aufrufe, falls ich dann aber den cookie lösche/überschreibe ist diue Information für jedes thema futsch, also muss ich ja quasi jdes Thema speichern ob gelesen oder nich gelesen
Verfasst: 07.10.2003 11:57
von itst
Nein, eben nicht.
Wenn ein Benutzer sich ausloggt speicherst Du diese Zeit in seinem Profil in der DB. Loggt er sich wieder ein, übernimmst Du diesen Wert in den Cookie. Jetzt schaust Du für die angezeigten Topics/Foren nach, wann in diesen zum letzten mal ein Beitrag geschrieben wurde. Ist diese Zeit "neuer", sprich der Timestamp höher, markierst (im HTML, sonst nirgends) Du das Forum/Topic mit einem Icon als "ungelesen".
Danach, während ein Benutzer surft, hälst Du bei jedr seiner Seitenaufrufe die aktulle Zeit in einer Session-Tabelle/Variable fest und überprüfst die Darstellung der Neu/Nichneu-Icons anhand dieser Zeit.
Verfasst: 07.10.2003 12:00
von Gore
jo, kommt also noch was?

Verfasst: 07.10.2003 12:01
von itst
S. o.
Verfasst: 07.10.2003 12:02
von Gore
itst hat geschrieben:
Danach, während ein Benutzer surft, hälst Du bei jedr seiner Seitenaufrufe die aktulle Zeit in einer Session-Tabelle/Variable fest und überprüfst die Darstellung der Neu/Nichneu-Icons anhand dieser Zeit.
hmm, das rall ich jetzt nich
Verfasst: 07.10.2003 12:12
von itst
Jedesmal, wenn ein bereits eingeloggter Benutzer eine Seite aufruft, merkst Du Dir diese Zeit - ob in einer Tabelle in der DB oder in einer Sessionvariable oder im Cookie - und machst Du Anzeige von Gelesen/Ungelesen von dieser Zeit abhängig.
Also:
Benutzer kommt auf die Seite, ist noch nicht eingeloggt, also ein Gast. Alle Foren/Topics werden als gelesen markiert.
Er loggt sich sein, jetzt kennst Du die Zeit, wann er sich zuletzt ausloggte und stellst alle Foren/Topics entsprechend dieser Zeit als gelesen/ungelesen dar.
Jetzt surft der eingeloggte Benutzer auf der Site rum. Jedesmal, wenn er eine Seite aufruft (sprich auf einen Link klickt), speicherst Du diese Zeit und benutzt sie anstatt die Zeit des letzten Ausloggens um die Foren/Topics als gelesen/ungelesen darzustellen.
Verfasst: 07.10.2003 12:24
von Gast
wie markiere ich dann wenn ein neuer beitrag geschrieben wurde von einem anderen user, so das des thema auch gleich als neu gilt?
Verfasst: 07.10.2003 12:38
von itst
Sag mal, sollen wir hier gleich das ganze Forum für Dich schreiben
Wenn ein neuer Beitrag geschrieben wird, aktualisierst Du die "Zeit der letzten Aktualisierung" des Topics.