Podrias agregar un campo donde guardes la fecha (timestamp) de ultima actividad del usuario, debes actualizar cada que realice alguna accion (ver pagina, enviar mensaje en el chat, etc.) y, finalmente, definir el tiempo maximo de inactividad para considerarlo desconectado.
Código PHP:
Ver original$activo = time() - 300; // Hora actual menos 5 minutos
// Tu consulta seria algo como:
// SELECT * FROM usuarios WHERE ultimoacceso > $activo