Hola alaintm,
Tienes muchos errores conceptuales en tu clase, el primero es que aunque tu clase UsuariosEnLinea extiende a la clase DB, todos los métodos los ocupa vía parent::, lo cual es igual que si la clase no la extendiera y solo ocupara un objeto. Que en este caso es lo mejor, ya que si haces un diagrama de entidad / relación te darás cuenta que la clase UsuariosEnLinea no debe de extender a DB, si no mas bien ocupar datos de DB.
Otro error es que en tu clase DB, ocupas sintaxis de esta forma:
Código PHP:
public function numrows(){
$this->numrows = mysqli_num_rows($this->result);
return $this->numrows;
}
No es necesario usar $this->numrows, todo el tiempo, solo cuando quieras guardar el valor en una propiedad de la clase, si solo vas a regresar el valor usa algo así:
Código PHP:
public function numrows(){
return mysqli_num_rows($this->result);
}
Otro error es que tu las variables que asignes dinamicamente (usando $this->variable) pasan a ser propiedades publicas de la clase, y por diseño conceptual deberías de hacer que todas, o la mayoría de las propiedades de una clase sean privadas o protegidas.
Saludos.