eNto
2010-03-15, 18:22:04
Hallo,
Wie man ja von Facebook etc. kennt sieht man wer sein Profil besucht hat, ob man neue Messages hat oder neue Posts in einem Thread gibt oder whatever.
Jetzt versuche ich soetwas auch bei mir einzubauen, nur fehlt mir irgendwie der richtige Ansatz, bei den Nachrichten (PN) hab ich es einfach so gemacht, das es ein eine Spalte in der Tabelle gibt, die NULL ist und sobald man die Nachricht öffnet dieses durch das aktuelle Datum ersetzt wird, dh. alle Nachrichten mit dem Wert null sind neu.
Wie kann ich das aber auf zbsp. Kommentare unter einem Artikel übertragen?
Also im Prinzip würde ich hier sobald der User auf den Artikel geht, das Datum des letzten Beitrages speichern, wenn jetzt ein neuer Beitrag kommt dann werden die Daten vergleichen und wenn das des neuen Beitrages neuer ist als das vom User gespeicherte gibt es einen neuen Beitrag.
Soviel zu meiner Theorie nur weiß ich nicht wie ich das ganze in gutem Stil umsetzten kann.
Ich hab dann an 5 Tabellen gedacht Artikel, Kommentare, User, Beobachtete_Kommentare, und Aktivitäten.
Beobachtete_Kommentare sieht so aus:
ID---ArtikelID---UserID---Datum
mit:
UserID beobachtet Artikel mit der ID ArtikelID ob es neue Kommentare gibt.
(Diese Tabelle, weil User selber bestimmen soll welchen Artikel er beobachtet was ja logisch ist)
Aktivitäten:
ID---ArtikelID---UserID---Datum1---Datum2---Gelesen
mit:
Datum1 = letzter vom User gelesener Kommentar
Datum2 = neuster Kommentar
Gelesen = User hat neuen Kommentar zur Kenntnis genommen (ja/nein)
Also nun zur Frage, macht man das so in der Regel? Weil irgendwie, brauch ich ja dann ewig viele Tabellen wenn ich nicht nur Kommentare, sondern Profilbesucher und das ganze andere Zeug überprüfen muss, auch mach ich mir sorgen über die Performance wenn ich immer mehrere Querys an den Server senden muss.
Wie man ja von Facebook etc. kennt sieht man wer sein Profil besucht hat, ob man neue Messages hat oder neue Posts in einem Thread gibt oder whatever.
Jetzt versuche ich soetwas auch bei mir einzubauen, nur fehlt mir irgendwie der richtige Ansatz, bei den Nachrichten (PN) hab ich es einfach so gemacht, das es ein eine Spalte in der Tabelle gibt, die NULL ist und sobald man die Nachricht öffnet dieses durch das aktuelle Datum ersetzt wird, dh. alle Nachrichten mit dem Wert null sind neu.
Wie kann ich das aber auf zbsp. Kommentare unter einem Artikel übertragen?
Also im Prinzip würde ich hier sobald der User auf den Artikel geht, das Datum des letzten Beitrages speichern, wenn jetzt ein neuer Beitrag kommt dann werden die Daten vergleichen und wenn das des neuen Beitrages neuer ist als das vom User gespeicherte gibt es einen neuen Beitrag.
Soviel zu meiner Theorie nur weiß ich nicht wie ich das ganze in gutem Stil umsetzten kann.
Ich hab dann an 5 Tabellen gedacht Artikel, Kommentare, User, Beobachtete_Kommentare, und Aktivitäten.
Beobachtete_Kommentare sieht so aus:
ID---ArtikelID---UserID---Datum
mit:
UserID beobachtet Artikel mit der ID ArtikelID ob es neue Kommentare gibt.
(Diese Tabelle, weil User selber bestimmen soll welchen Artikel er beobachtet was ja logisch ist)
Aktivitäten:
ID---ArtikelID---UserID---Datum1---Datum2---Gelesen
mit:
Datum1 = letzter vom User gelesener Kommentar
Datum2 = neuster Kommentar
Gelesen = User hat neuen Kommentar zur Kenntnis genommen (ja/nein)
Also nun zur Frage, macht man das so in der Regel? Weil irgendwie, brauch ich ja dann ewig viele Tabellen wenn ich nicht nur Kommentare, sondern Profilbesucher und das ganze andere Zeug überprüfen muss, auch mach ich mir sorgen über die Performance wenn ich immer mehrere Querys an den Server senden muss.