Hice las primeras dos variaciones que me sugeriste, pero la tercera cuando te refieres a almacenar el resultado te refieres a crear una instancia del objeto y que este llame a una función que muestre el resultado n veces?
Aquí te muestro las variaciones.
Código PHP:
class UsuariosEnLinea{
public function __construct($servidor, $usuario, $clave, $bd){
$mysql = new mysqli($servidor, $usuario, $clave, $bd);
$ip = ip2long($_SERVER["REMOTE_ADDR"]);
$tiempo_limite = 300;
$tiempo_actual = time();
$tiempo_conectado = $tiempo_actual - $tiempo_limite;
$mysql->query("DELETE FROM usuariosenlinea WHERE tiempo < $tiempo_conectado");
if($mysql->query("SELECT ip FROM usuariosenlinea WHERE ip = $ip") == 0){
$mysql->query("UPDATE usuariosenlinea SET tiempo = $tiempo_actual WHERE ip = $ip");
}
else{
$mysql->query("INSERT INTO usuariosenlinea (ip, tiempo) VALUE ('$ip','$tiempo_actual')");
}
$usuarios_conectado = $mysql->query("SELECT ip FROM usuariosenlinea");
echo $usuarios_conectado->num_rows;
$usuarios_conectado->close();
$mysql->close();
}
}
$ul = new UsuariosEnLinea($servidor, $usuario, $clave, $bd);