Hej!
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.
Tacksam för all hjälp!
PeddaMedlem sedan juni 20006 032 inlägg 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().'\'');
Nja, ".($now-300)." blir svår att ersätta med ASP :/
PeddaMedlem sedan juni 20006 032 inlägg Jag kan ju inte asp så...
Men $now är en tidsstämpel, borde väl finnas i asp med, sen minus 300 sek.
Använd DateAdd för lägga till och tabort tid från ett datum.
DateAdd("s", -300, now) är ASPs motsvarig till PHPs ($now-300).
obs att det är "n" man ska använda för minuter, m är månader.
/Ante S
japp, testkörde precis med DateAdd("n", -10, now) och det funkade.
Tack för hjälpen alla