lisali
Erfahrenes Mitglied
Hallo!
Ich würde gerne ein Punktesystem für User, gemessen an ihrer Aktivität, basteln.
Da dachte ich an eine Extra-Tabelle mit den Spalten `user_id`, `login`, `logout`, wobei login und logout jeweils DATETIME-Spalten sind.
Von der Idee her möchte ich für jeden User letztendlich eine Gesamtauswertung machen, wobei ich jeweils daran dachte, dass man die an der Online-Aktivität eines Tages festmachen könnte.
Das heißt, dass immer jeweils der Login und Logout in der Datenbank als Zeit-Eintrag gespeichert wird (natürlich dann noch mit der zugehörigen user_id).
Jetzt habe ich mich aber gefragt wie ich das anstelle, dass ich weiß wann ein User immer offline ist. Also, bei mir gilt ein User automatisch nach 15min Inaktivität oder wenn er sich selbst ausloggt als offline... jedoch frage ich mich wie ich das in die Datenbank speichere, wenn keiner klickt?
Vor allem was noch den richtigen UPDATE-Befehl angeht, weil ich ja jeweils die Logout-Zeit dem letzten Eintrag in der Datenbank der Login-Zeit zuordnen muss. Die Frage ist eben wie ich das anstelle und wann bzw. bei welcher Aktion und von wem.
Wahrscheinlich gibt es da irgendwie noch mehr Sachen, die ich dabei nicht beachte oder in Betracht ziehe, die mir gerade entgehen und euch vielleicht auf/-einfallen...!?
Wie könnte man das Ganze vernünftig angehen und realisieren?
So viel weiter habe ich bisher aber nicht gedacht, auch nicht was bei dem ganzen die Belastung der Datenbank angeht. Ist meine Idee vom Ansatz her überhaupt gut oder sollte man das ganz anders und auch effizienter umsetzen? Wenn ja, wie genau?
Zur Entlastung dachte ich aber an eine tägliche Löschung der Daten pro Tag jedes Users, da die Gesamtpunkteanzahl in der User-Tabelle festgehalten werden sollen.
Ich freue mich über jede hilfreiche Antwort, dankeschön!
Liebe Grüße,
Lisa
Ich würde gerne ein Punktesystem für User, gemessen an ihrer Aktivität, basteln.
Da dachte ich an eine Extra-Tabelle mit den Spalten `user_id`, `login`, `logout`, wobei login und logout jeweils DATETIME-Spalten sind.
Von der Idee her möchte ich für jeden User letztendlich eine Gesamtauswertung machen, wobei ich jeweils daran dachte, dass man die an der Online-Aktivität eines Tages festmachen könnte.
Das heißt, dass immer jeweils der Login und Logout in der Datenbank als Zeit-Eintrag gespeichert wird (natürlich dann noch mit der zugehörigen user_id).
Jetzt habe ich mich aber gefragt wie ich das anstelle, dass ich weiß wann ein User immer offline ist. Also, bei mir gilt ein User automatisch nach 15min Inaktivität oder wenn er sich selbst ausloggt als offline... jedoch frage ich mich wie ich das in die Datenbank speichere, wenn keiner klickt?
Vor allem was noch den richtigen UPDATE-Befehl angeht, weil ich ja jeweils die Logout-Zeit dem letzten Eintrag in der Datenbank der Login-Zeit zuordnen muss. Die Frage ist eben wie ich das anstelle und wann bzw. bei welcher Aktion und von wem.
Wahrscheinlich gibt es da irgendwie noch mehr Sachen, die ich dabei nicht beachte oder in Betracht ziehe, die mir gerade entgehen und euch vielleicht auf/-einfallen...!?
Wie könnte man das Ganze vernünftig angehen und realisieren?
So viel weiter habe ich bisher aber nicht gedacht, auch nicht was bei dem ganzen die Belastung der Datenbank angeht. Ist meine Idee vom Ansatz her überhaupt gut oder sollte man das ganz anders und auch effizienter umsetzen? Wenn ja, wie genau?
Zur Entlastung dachte ich aber an eine tägliche Löschung der Daten pro Tag jedes Users, da die Gesamtpunkteanzahl in der User-Tabelle festgehalten werden sollen.
Ich freue mich über jede hilfreiche Antwort, dankeschön!
Liebe Grüße,
Lisa
Zuletzt bearbeitet: