Seite 1 von 1
Neue Beiträge auslesen?
Verfasst: 11.04.2008 15:29
von Hasu0bs
Hallo zusammen
ja, ich weiß hierzu gibt es schon genug Themen hier im Forum, aber keins beschriebt das, was ich ich möchte
Ich möchte einfach für jeden Benutzer einzeln
nur die Beiträge oder Themen auslesen, die für ihn neu sind.
Gruß Hasu0bs
Verfasst: 17.04.2008 14:21
von Hasu0bs
Hat keiner ne Idee? Ich steig durch das "Neue Beiträge"-System ja nich durch
Gruß Hasu0bs
Verfasst: 22.04.2008 15:54
von Hasu0bs
Hat wirklich keiner ne Idee?!
Verfasst: 25.04.2008 21:33
von Hasu0bs
Ich bin immernoch nich weiter

Muss sich doch schonmal jemand Gedanken drüber gemacht haben?!
Verfasst: 04.05.2008 18:35
von Hasu0bs
Guten Abend. Also mittlerweile weiß ich, das die beiden Tabellen forums_track und topics_track damit zu tun haben.
Wenn kein Eintrag mit der jeweiligen user_id vorhanden ist, dann sind zB. alle Foren gelesen.
Aber der Rest bleibt mir ein Rätsel.
Weiß einer nen Ansatz?
Gruß Hasu0bs
Verfasst: 26.05.2008 20:37
von Hasu0bs
Hallo,
ich habs immernoch nicht rausgefunden...
Gruß Hasu0bs
Verfasst: 27.05.2008 22:03
von SowCom
Willst du selber Beiträge von Benutzer auslesen, oder soll das jeder Benutzer für sich tun ?
Falls es um Benutzer geht, dann sollte dir das hier helfen.
"
View or mark unread posts" .
Verfasst: 29.05.2008 17:42
von Hasu0bs
Hallo
Okay der Tipp war nich schlecht, dankeschön. Daraus hab ich jetzt folgende sql-Abfrage entnommen:
Code: Alles auswählen
$sql = 'SELECT p.post_id, p.post_subject, p.post_time, p.poster_id
FROM ' . POSTS_TABLE . ' p
LEFT JOIN ' . FORUMS_TRACK_TABLE . ' ft ON (p.forum_id = ft.forum_id AND ft.user_id = ' . $user->data['user_id'] . ')
LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (p.topic_id = tt.topic_id AND ft.user_id = ' . $user->data['user_id'] . ')
WHERE
(
p.post_time > tt.mark_time
OR (tt.mark_time IS NULL AND p.post_time > ft.mark_time)
OR (tt.mark_time IS NULL AND ft.mark_time IS NULL AND p.post_time > ' . $user->data['user_lastmark'] . ")
)
ORDER BY p.post_time DESC";
Die soll ja eigentlich die neuen Beiträge auslesen. Klappt auch manchmal ganz gut soweit. Nur jetz hab ich grade reingeguggt: Ich persönlich habe 2 neue Beiträge. Der eine neue wird von der Abfrage 3 mal zurückgeliefert, der 2. sogar 12 mal. Außerdem sind noch ganz viele andere Beiträge dabei. (Im phpMyAdmin hat die Abfrage 4100 Ergebnisse geliefert...

)
Was mach ich denn jetz?
Gruß Hasu0bs
EDIT:
Ich habe den Fehler gefunden. Statt:
Code: Alles auswählen
LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (p.topic_id = tt.topic_id AND ft.user_id = ' . $user->data['user_id'] . ')
muss es heißen
Code: Alles auswählen
LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (p.topic_id = tt.topic_id AND tt.user_id = ' . $user->data['user_id'] . ')
In dem MOD steht es aber auch so drin. Ich weiß nurnich ob das ein bug ist oder gewollt
Gruß Hase