No se si esta bien ahora pero de esta forma si trabaja. Dime si tiene más errores porque la verdad deseo aprender y hoy creeme que he aprendido.
Código PHP:
class UsuariosEnLinea extends BD{
private $usuarios_conectados;
public function __construct($server, $user, $password, $db){
$ip = ip2long($_SERVER["REMOTE_ADDR"]);
$tiempo_limite = 300;
$tiempo_actual = time();
$tiempo_conectado = $tiempo_actual - $tiempo_limite;
parent::__construct($server, $user, $password, $db);
$this->query("DELETE FROM usuariosenlinea WHERE tiempo < $tiempo_conectado");
if($this->query("SELECT ip FROM usuariosenlinea WHERE ip = $ip") != 0){
$this->query("UPDATE usuariosenlinea SET tiempo = $tiempo_actual WHERE ip = $ip");
}
else{
$this->query("INSERT INTO usuariosenlinea (ip, tiempo) VALUE ('$ip','$tiempo_actual')");
}
$usuarios = $this->query("SELECT ip FROM usuariosenlinea");
$this->usuarios_conectados = $this->numrows($usuarios);
}
public function mostrar_usuarios_conectados(){
return $this->usuarios_conectados;
}
}
...
$ul = new UsuariosEnLinea("localhost","usuario","clave","bd");
echo "Usuarios en Línea ".$ul->mostrar_usuarios_conectados();