Hola Javista, bueno aqui tengo un ejemplo comentado...
Código PHP:
<?php
// Estructura de la tabla
// --> * ip varchar(15)
// --> * fecha int(14)
function usuarios_activos()
{
//permitimos el uso de la variable portadora del numero ip en nuestra funcion
global $REMOTE_ADDR;
//asignamos un nombre memotecnico a la variable
$ip = $REMOTE_ADDR;
//definimos el momento actual
$ahora = time();
//conectamos a la base de datos
$dbh=mysql_connect ("localhost", "user", "pass") ;
mysql_select_db ("db");
//actualizamos la tabla
//borrando los registros de las ip inactivas (este ejemplo a 5 minutos)
$limite = $ahora-5*60;
$ssql = "delete from UsersOnLine where fecha < ".$limite;
mysql_query($ssql);
//miramos si el ip del visitante existe en nuestra tabla
$ssql = "select ip, fecha from UsersOnLine where ip = '$ip'";
$result = mysql_query($ssql);
//si existe actualizamos el campo fecha
if (mysql_num_rows($result) != 0) $ssql = "update UsersOnLine set fecha = ".$ahora." where ip = '$ip'";
//si no existe insertamos el registro correspondiente a la nueva sesion
else $ssql = "insert into UsersOnLine (ip, fecha) values ('$ip', $ahora)";
//ejecutamos la sentencia sql
mysql_query($ssql);
//calculamos el numero de sesiones
$ssql = "select ip from UsersOnLine";
$result = mysql_query($ssql);
$usuarios = mysql_num_rows($result);
//liberamos memoria
mysql_free_result($result);
//devolvemos el resultado
return $usuarios;
}
$numusu=usuarios_activos();
?>
Espero te funcione .-
Saludos.-