Eine Art Dashboard à la Facebook und MySpace

Kalma

Erfahrenes Mitglied
Hi,

ich überlege grade wie ich folgendes Problem bewerktstellige:

Auf einer Seite sollen neue Ereignisse dargestellt werden, zum Beispiel:
Gästebucheinträge
neue Freundschaften
neue Kommentare
Freundschaftsanfragen


Insgesamt habe ich 5 Tabellen:
- user
----- user_id
----- user_nickname
- gaestebuch
----- gb_id
----- gb_owner_id
----- gb_autor_id
----- gb_text
----- gb_datum
- freunde
----- freundschaft_id
----- freundschaft_anfrager_id
----- freundschaft_mit_id
----- freundschaft_akzeptiert
----- freunschaft_abgelehnt
----- freundschaft_anfrage_datum
- kommentare
----- kommentar_id
----- kommentar_zu_id
----- kommentar_autor_id
----- kommentar_datum


Soweit!

Jetzt will ich gerne, das alle Ereignisse die in diesen Tabellen auf eine Seite zusammengefasst werden und zwar nach Datum sortiert.
Also zum Beispiel:

Der und der ist jetz befreundet mit So und so
Die und die hat einen Kommentar dazu gemacht
Der und der ist jetz befreundet mit So und so
Der und der ist jetz befreundet mit So und so
Du hast einen neuen Gästebuch Eintrag
Du hast eine neue Freundschaftsanfrage

Und so weiter.
Bisher wollte ich für jede Ereigniss-Art eine Funktion schreiben, aber das hilft ja nicht wirklich weiter.


Wäre super, wenn ihr mir einen Denkanstoß geben könntet!

P.s. ich nutze Smarty Templates


Gruß
David
 
Ich bin selbst am überlegen, wie ich sowas am besten löse.
Macht es Sinn, eine extra Tabelle "dashboard" zu haben, in welcher alle Ereignisse eingetragen werden? Man muss dann zwar doppelt eintragen, aber das Auslesen ist viel einfacher.
 
Das kommt drauf an, um welche Datenmengen es sich handeln wird.

Bei guten Indexen und Aufbauten der Datenbank würde ich wenn es irgenwie geht auf die doppelte Führung der Eitnräge verzichten.
 
Wie ist es denn, wenn man jetzt 50.000 Benutzer hat und bei jedem Nutzer stehen pro Tag 20-40 Ereignisse auf dem Dashboard?


Doppelte Führung oder eher nicht..?
 
Zurück