[Forum] Benutzerdaten für Threads verwalten

MAN

Erfahrenes Mitglied
Hallo,

ich habe mal eine allgemeine Frage und zwar: wie verwalte ich am besten für jeden User die Eigenschaften, ob der User einen aktuellen Thread noch nicht gelesen hat (sowie es hier bei tutorials.de auch ist, mit den gelb hervorgehobenen und grauen Symbolen)?

Habe also zum Beispiel 5 Threads, und User1 hat den letzten Thread noch nicht gelesen, User2 hat schon alle gelesen, und User3 vielleicht noch gar keine von den 5.

Die User loggen sich natürlich beim start ein, um dann die Eigenschaften zu sehen.

Was ich als Antwort will sind einfach nur Verwaltungsmöglichkeiten für diese Eigenschaften und eventuell auch ein Zugriffsbeispiel mit PHP, wenn es nicht selbsterklärend ist.

Vielen, vielen Dank!


mfG,
MAN
 
Mein Vorschlag:
Ein DB-Feld mit einem "last_login" timestamp für die User.
Dann einfach überprüfen welche Threads seit diesem Login neu sind, fertig ^^

Nur sone Idee:)
 
Schonmal ne gute Idee - Danke!

Doch ein Haken hat diese Lösung: wenn der user dann einen Post (von zum Beispiel 3 neuen) gelesen hat, kann ich entweder nur alle auf "alt" stellen, oder ich muss alle neu lassen bis zum nächsten login!

Wie macht es den tutorials.de? Kann da einer weiterhelfen?

mfG,
MAN
 
Ich vermute mal das Tutorials.de auch alle bis zum nächsten Login auf neu lässt!?
Refresh mal die Threadübersicht, bei mir ist es so, dass alle noch als neu angezeigt werden!

/€dit:
Oder auch nicht:-)
 
Zuletzt bearbeitet:
Eben... ;)

Hm... die müssen ja ne riesen Datenbank haben, wenn se für jeden User, alle Thread-"Statusse" ("Stati", wie auch immer) speichern müßten...

Da gibts doch bestimmt ne andre Möglichkeit.

mfG,
MAN
 
Hmm also ich habe mal was gesehen, wo das schon über die Datenbank gemacht wurde.

Und zwar hängt an jedem Post, bzw Thead ein String aus den UserID´s, die das schon gelesen haben. '0815;1234;234;34;4;45;'

Über eine relativ einfache SQL Abfrage kannst du dann bei jedem Thread ermitteln, ob er vom User XX schon gelesen wurde. Damit du das nicht immer durchnudeln musst, kannst du das ja über den Timstamp des letzten Logins einschränken.

SELCT * FROM TABLE where create_date > '$last_login' and not read_by like '%$user_id%'

Wenn man das geschickt in eine Subquery packt, kriegt man denke ich mit einer einzigen Abfrage die Liste aller Threads richtig sortiert und gekennzeichnet aus der Datenbank heraus.

Gibt aber möglicherweise noch elegantere Möglichkeiten ;)
 
Cool, die Möglichkeit hört sich gut an!
Mal zu Hause ausprobieren.

Und nochmal zum Verständnis: das heißt, ich muss alle UserIDs an einen Thread dranhängen, wenn ein neuer erstellt wurde, richtig?

Die Spalte ist ja dann wirklich ziemlich umfangreich so mit 10.000 usern...

Aber eine Möglichkeit wäre es!

Vielen Dank!


mfG,
MAN
 
Daran hatte ich auch gedacht, aber sogar ein Longtext-Feld ist irgendwann zu ende, das weiß ich von IP-Speicherung ;)

Und: Nur weil Du ihn schon mal gelesen hast, heißt das ja nicht das es keine neuen Posts gibt!?
 
Oh, da hatte ich mich verschrieben: ich meinte natürlich neue Threads!

Wenn es nen neuen Post gibt, schreib ich ja dann auch wieder alle UserIDs in den Thread rein.

Der Datentyp LongText ist ja sowieso unbegrenzt (soweit ich weiß) dann müßte das theoretisch super funktionieren :)


mfG,
MAN
 
Aber du liest den Thread, deine Nummer wird gelöscht oder was weiß ich..

Jmd. neues macht einen Post, willst du dann wieder alle User-ID´s einfügen?
 
Zurück