Сначала вы должны определить, что означает вход в систему.Пример:
LOGGED_IN = NOT_LOGGED_OUT && LAST_VISIT > time() - 15*60 # 15 minutes
Затем вам нужно сохранить время последнего посещения в таблице базы данных для каждого пользовательского действия:
UPDATE user_table SET last_visit = UNIX_TIMESTAMP() WHERE user_id=?
И теперь вы можете получить количество пользователей logged_in:
SELECT COUNT(*) from user_table
WHERE !logged_out && last_visit > UNIX_TIMESTAMP() - 15*60
Надеюсь, понятно, что это только схематическое решение.