Agradezco de antemano su ayuda.
Código PHP:
<?php
class BD{
protected $link;
private $server, $user, $password, $db, $result;
public function __construct($server, $user, $password, $db){
$this->link = mysqli_connect($server, $user, $password, $db);
mysqli_select_db($this->link, $db);
}
public function query($sql){
$this->result = mysqli_query($this->link, $sql);
}
public function recordset(){
$this->record = mysqli_fetch_object($this->result);
return $this->record;
}
public function numrows(){
$this->numrows = mysqli_num_rows($this->result);
return $this->numrows;
}
public function __destruct(){
return mysqli_close($this->link);
}
}
class UsuariosEnLinea extends BD{
public function mostrar_usuarios_conectados(){
$ip = ip2long($_SERVER["REMOTE_ADDR"]);
$tiempo_limite = 300;
$tiempo_actual = time();
$tiempo_conectado = $tiempo_actual - $tiempo_limite;
parent::query("DELETE FROM onlineusers WHERE tiempo < $tiempo_conectado");
if(parent::query("SELECT ip FROM onlineusers WHERE ip = $ip") != 0){
parent::query("UPDATE onlineusers SET tiempo = $tiempo_actual WHERE ip = $ip");
}
else{
parent::query("INSERT INTO onlineusers (ip, tiempo) VALUE ('$ip','$tiempo_actual')");
}
$usuarios = parent::query("SELECT ip FROM onlineusers");
$usuarios_conectados = parent::numrows($usuarios);
return $usuarios_conectados;
}
}
$ul = new UsuariosEnLinea("localhost","usuario","clave","bd");
echo "Usuarios en Línea ".$ul->mostrar_usuarios_conectados();
unset($bd, $ul);
?>