Rozwiązanie prymitywne ale działa. Musisz posiadać dodatkowe dwie kolumny tak jak wyżej napisano już lastactive oraz online
$timeout = time()-(60
*5
); //czas 5minut $wywal_nieaktywnego = mysql_query("UPDATE `users` SET online='0' WHERE lastactive < $timeout"); //ustawia online na 0 osobom nieaktywnym przez 5 minut, nieaktywnym=nieodświeżającym strony $lastactive = mysql_query("UPDATE `users` SET lastactive='time()' WHERE id='$id'"); //ustawienie czasu przy wywołaniu skryptu
I przy wylogowaniu użytkownika też powinieneś ustawić kolumnę online na 0.
Potem aby wyświetlić ludzi będących online pobierasz wszystkich użytkowników mających online=1
Skrypt wiąże się z dużą ilością zapytań.
Poprawiajcie mnie do woli ;]
Pozdrawiam.