dedlfix: ungelesene threads usw

Beitrag lesen

echo $begrüßung;

bin dabei ein kleines Forum zu programmieren...

Auch wenn du das in PHP machst ist das doch ein eher Datenbank-technisches Problem. Und damit dies die Spezialisten besser finden solltest du die Kategorie bedachtsamer auswählen.

nun meine Frage, wie ist es üblich die ungelesenen Threads herauszufinden bzw. zu speichern?

Üblich sind verschiedene Vorgehensweisen. Die einfachste wäre, den letzten Besuchszeitpunkt zu notieren, z.B. in einem Cookie und alle neueren Beiträge als solche zu kennzeichnen. Doch das ist nicht sehr komfortabel für den Anwender. Deswegen willst du das ja auch threadfein oder noch besser beitragsfein speichern.

Die "üblichen" Vorgehensweisen kannst du ja den quelloffenen Projekten entnehmen. Beim Schmökern in fremdem Code kann man auch noch jede Menge anderer Dinge lernen. (Manchmal auch, wie man es besser nicht machen sollte ...)

Dachte daran, dass ich in meiner Benutzertabelle eine Spalte anlege, in der die thread_ids durch ein trennzeichen getrennt gespeichert werden.
Schreibt nun jemadn einen neuen Thread wird die thread_id bei jedem Benutzer in diese Spalte dazugeschrieben.
Ruft dieser Benutzer die Seite aus, können die Thread, deren id in der Spalte steht ganz einfach hervorgehoben werden.
Ist das sinnvoll so?

Nicht besonders, finde ich. Beim Beitrag-Schreiben müssen sämtliche Benutzerdatensätze angefasst werden. Je mehr Benutzer das System hat, desto mehr Aufwand bedeutet das. Eine weitere Tabelle, die für jede Benutzerkennung und jeden gelesenen Beitrag einen Eintrag bekommt wäre eine weitere Möglichkeit. Die ungelesenen erkennst du daran, dass die Beiträge dort nicht enthalten sind (bei einem LEFT JOIN kommt auf der rechten Seite NULL raus). Doch da sammelt sich im Laufe der Zeit auch recht viele Daten an, die auch noch erhalten bleiben müssen, wenn es kein Archiv für alte Fäden gibt, für die kein Gelesen-Status mehr gespeichert werden muss. Andererseits sind Datenbanksysteme für den Umgang mit großen Datenmengen ausgelegt. An dieser Stelle gebe ich aber an die Datenbankexperten ab ...

echo "$verabschiedung $name";