• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

User online anzeige für ein Forum

Status
Für weitere Antworten geschlossen.

Sn0opy

Neues Mitglied
Hiho,

da ich momentan dabei bin fehler in meiner Useronline Liste meines Forums zu verbessern, hätte ich da eine Frage. Es geht darum, dass ich nach der letzten Aktvität der User gehe, wann sie das letzte mal auf der Seite waren und sie somit am Ende des Forums anzeigen lasse.

Nun habe ich mir gedacht, dass es mit meinem momentanen aufbau nicht so dolle funktioniert und manchmal fehler auftreten. Mein Momentaner Ansatz:

PHP:
$lastactivity = date('i', $index->row('lastactivity'));
$current_time = date('i', time());
	
if(($lastactivity - $current_time) == 0) {
// User wird ausgegeben
}

Problem: Es kann vorkommen, dass alle anderen User, die ebenfalls schon länger nicht mehr aktiv waren, angezeigt werden wegen der Problematik, dass ich nur 59 Werte zum überprüfen habe.

Nun habe ich einen anderen Lösungsweg gefunden, der mir aber eigentlich meine gesamte Struktur zerschießen würde. Weil ich eine extra Tabelle bräuchte, was ich ungern möchte.

Code:
'DELETE FROM `tabelle` WHERE DATE_SUB(NOW(), INTERVAL 1 MINUTE) > `Datum`'

Wäre in diesem Fall die andere Möglichkeit mit einer weiteren Tabelle. Würde aber auch so 1-2 Komplikationen geben, weil ich dann nicht immer mit UPDATE arbeiten kann, wobei ein recht kleines Problem wäre.

Was haltet ihr nun für sinnvoller und hättet ihr ggf. einen Lösungsvorschlag zu meiner ersten Variante?
 
Werbung:
Warum nicht einfach so?
PHP:
$lastactivity = $index->row('lastactivity');
$current_time = time();
    
if(($lastactivity+300) > $current_time) { # 300 s = 5 Minuten
// User wird ausgegeben
}
 
Weil ich nicht wusste, dass es so funktioniert. Hab mich ehrlich gesagt auch noch nicht mehr der Berechnung vom Unix time Stamp gekümmert :D Aber danke dir! Scheint super zu funktionieren
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben