De hecho estoy intentando hacer yo solo una clase para mostrar los usuarios en línea en base a la que está posteada en las FAQs de POO.
Hasta ahora tengo lo siguiente:
Código PHP:
<?php
class conectados {
var $ahora;
function conectados() {
// Conexión a la BD
$conex = mysqli_connect('localhost', 'usuario', 'contraseña', 'BD') or trigger_error(mysqli_error,E_USER_ERROR);
// Calculo de tiempo que se permitirá como conectado
$tiempo_permitido = 1800;
$tiempo_actual = time();
$tiempo = $tiempo_actual - $tiempo_permitido;
// Consulta a la BD que nos trae los usuarios conectados
$query_conectados = "SELECT * FROM conectados WHERE (tiempo >= '$tiempo')";
$conectados = mysqli_query($conex, $query_conectados) or die(mysqli_error($conex));
$row_conectados = mysqli_fetch_assoc($conectados);
$this->ahora = mysqli_num_rows($conectados);
function cuantos() {
echo $this->ahora;
}
// Bucle que muestra en pantalla a esos usuarios
function quienes() {
do { echo $row_conectados['usuario'].', '; } while ($row_conectados = mysqli_fetch_assoc($conectados));
}
// Sentencia, consulta, que borra a los usuarios con tiempo excedido
$query_borrar = "DELETE FROM conectados WHERE (tiempo <= '$tiempo')";
$borrar = mysqli_query($conex, $query_borrar) or die(mysqli_error($conex));
mysqli_close($conex);
}
}
?>
Código PHP:
<?
// Usuarios en línea
$conectados = new conectados();
?>
<div id="pie">
<div class="superior"></div>
<div class="contenido">
<div id="conectados">
<div class="superior">Usuarios conectados: (<?php $conectados->cuantos(); ?>)</div>
<div class="conectados">
<?php $conectados->quienes(); ?>
</div>
</div>
</div>
</div>
Código:
Agradecería me marquen todos los errores que encuentren y me si tienen una respuesta a mi pregunta, por qué no funciona, agradecería me den la respeusta.Fatal error: Call to undefined method conectados::quienes() in D:\www\sedice\index.php on line 144
Muchas gracias !