Denkanstoß für mein Forumscript. Thema: Neue Beiträge anzeigen.

Templorials

Erfahrenes Mitglied
Denkanstoß für mein Forumscript. Thema: Ungelesene Beiträge anzeigen.

Hallo!

Ich mach mir grad ein Forum. Hab das Member und Beiträge System schon ziemlich fertig und möchte jetzt eine Funktion machen die neue Beiträge anzeigt. Also ich schaffe schon die Beiträge seit den letzten Besuch anzuzeigen, das geht ja einfach mit der vorletzten "Aktivitätszeit" und den Erstellzeiten der Beiträge. Naja aber ich möchte vlt machen das er einfach noch die ungelesenen Beiträge anzeigt.

Nun hier brauch ich einen Denkanstoß wie dieses System ablaufen sollte.

Ich hoffe ihr versteht meine Frage.
 
Zuletzt bearbeitet:
Das würde ja eigentlich nur gehen wenn du in der UserTable die Thread-ID jedes besuchten Threads speicherst und das so gegenprüfst.
Ist aber ziemlich umständlich, wüsste auch nicht das sowas schon in Foren umgesetzt wurde.

Interessant wäre dann noch was passieren soll wenn ein Thread schon besucht ist aber zb ein neuer Post in dem Thread ist.
 
Mit der ThreadID in der Usertabelle wird das nicht gehen, aber mit einer eigenen Tabelle (z.B.geleseneThreads). Die enthält dann UserID und ThreadID.
Immer, wenn ein Beitrag zu einem Thread hinzukommt werden alle Zeilen mit dieser ThreadID gelöscht.
Immer, wenn ein User einen Thread liest wird das Paar aus seiner UserID und der ThreadID hineingeschrieben.
Ich hatte das mal für news und zusätzlich noch einen Status in der gelesen-Tabelle.
Das Query ist etwas länger:
PHP:
$query = "SELECT news.ID as IDnews,news.sender,news.sendtime,news.subject,".
    "news.ntext,newsreadbyuser.newsID,newsreadbyuser.userID,".
    "newsreadbyuser.status,user.id,user.name FROM news LEFT ".
    "JOIN newsreadbyuser ON news.ID=newsreadbyuser.newsID AND ".
    "newsreadbyuser.userID=$u LEFT JOIN user ON news.sender = ".
    "user.ID WHERE newsreadbyuser.status IS NULL ORDER BY news.sendtime".
    " DESC LIMIT $o,$r;";
//$u die userID , $o der offstet fürs blättern , $r Einträge pro Seite
//Durch das IS NULL erhält man die, die der User noch nicht gelesen hat
//müßte aber auch ohne status gehen mit newsreadbyuser.userID IS NULL

Gruß hpvw
 
Zurück