Hallo,
ich hatte mal einen Thread hier, wie man Foren als gelesen marieren kann.
Nun möchte ich es so umsetzen, dass es in der Datenbank in der Tabelle Threads eine Spalte ("haveread") existiert, in der alle User stehen (User-ID), die den jewiligen Thread bereits gelesen hat.
In der thread.php lese ich dann die Spalte haveread aus und überprüfe, ob die User-ID des aktuellen Benutzers in dieser Spalte vorkommt.
Wenn nicht, ist der Thread noch ungelesen und in der Spalte haveread wird die User-ID gespeichert, denn der User hat den jeweiligen Thread ja jetzt gelesen. Wenn sie schon vorhanden ist, wird der Thread als gelesen markiert.
Der Teil im Script sieht so aus:
Nun habe ich leider zwei Probleme:
1. In der Spalte wird nur "0" gespeichert, anstatt zB (4)
2. Selbst wenn ich in PHPMyAdmin (4) eintrage (meine User-ID), wird angezeigt, dass ich diesen Thread noch nicht gelesen hätte.
Ich fidne absolut keinen Fehler, vllt könnt ihr mir ja helfen.
MfG Icy
ich hatte mal einen Thread hier, wie man Foren als gelesen marieren kann.
Nun möchte ich es so umsetzen, dass es in der Datenbank in der Tabelle Threads eine Spalte ("haveread") existiert, in der alle User stehen (User-ID), die den jewiligen Thread bereits gelesen hat.
In der thread.php lese ich dann die Spalte haveread aus und überprüfe, ob die User-ID des aktuellen Benutzers in dieser Spalte vorkommt.
Wenn nicht, ist der Thread noch ungelesen und in der Spalte haveread wird die User-ID gespeichert, denn der User hat den jeweiligen Thread ja jetzt gelesen. Wenn sie schon vorhanden ist, wird der Thread als gelesen markiert.
Der Teil im Script sieht so aus:
PHP:
<?php
$sqlread = "SELECT haveread FROM ibd_threads WHERE ID = '$id'";
$haveread = mysql_fetch_assoc(mysql_query($sqlread));
$newread = "(".$_SESSION['uid'].")";
if (strpos($haveread['haveread'], '$newread')) {
echo "Du hast diesen Thread bereits gelesen!";
} else {
$sqlhaveread = "UPDATE ibd_threads SET haveread = haveread + '$newread' WHERE ID = '$id'";
mysql_query($sqlhaveread) or die(mysql_error());
}
?>
Nun habe ich leider zwei Probleme:
1. In der Spalte wird nur "0" gespeichert, anstatt zB (4)
2. Selbst wenn ich in PHPMyAdmin (4) eintrage (meine User-ID), wird angezeigt, dass ich diesen Thread noch nicht gelesen hätte.
Ich fidne absolut keinen Fehler, vllt könnt ihr mir ja helfen.
MfG Icy