Jag har ett onlinescript utan global.asa där tabell i MySQL-databas utnyttjas (MySQL 4.x).
Efter 10 minuters inaktivitet är det tänkt att ip-numren skall raderas utav andra användare. Scriptet går vid varje sidladdning och uppdaterar även sidan man är på.
Istället för att jag nu loopar genom alla poster och kontrollerar med DateDiff borde det gå att skrivas i en SQL-fråga. Frågan är bara hur man gör det.
stat_online
Id | Int
IP | varchar
tid | datetime
Alltså kontrollera datetime om det är > 10 min inaktivitet.
Så här har jag gjort i mitt online script.
Det är ju förvisso i php, men du förstår nog funktionen.
// Delete entries older than timeout_online seconds and any duplicates (start transaction)
$query = ('DELETE FROM online WHERE logged<'.($now-300).' OR ident=\''.addslashes($cookie['username']).'\' OR ident=\''.get_remote_address().'\'');