... (sus).. prueba esto:
La tabla "visitas" que ocupé:
Código:
CREATE TABLE `visitas` (
`id` TINYINT NOT NULL AUTO_INCREMENT ,
`ip` VARCHAR( 15 ) NOT NULL ,
`hora` DATETIME NOT NULL ,
PRIMARY KEY ( `id` )
);
El código:
Código PHP:
<?php
$lapso= 1; // minutos permitidos para tratarlo como 'usuario activo'
$ip=$REMOTE_ADDR;
include("conex.php"); // conexión, seleccion de la base de datos...
$busca= mysql_query("SELECT * FROM visitas WHERE ip='$ip' AND hora>DATE_SUB(NOW(), INTERVAL $lapso MINUTE) LIMIT 0,1", $conexion) or die ("<b>ERROR:</b><br>".mysql_error());
$regis=mysql_fetch_assoc($busca);
if(mysql_num_rows($busca)>0){
mysql_query("UPDATE visitas SET hora=NOW() WHERE id='".$regis['id']."' LIMIT 1", $conexion) or die ("<b>ERROR:</b><br>".mysql_error());
} else {
mysql_query("INSERT INTO visitas VALUES ('', '$ip', NOW())", $conexion) or die ("<b>ERROR:</b><br>".mysql_error());
}
$resultado= mysql_query("SELECT *, COUNT(*) AS total, MAX(hora) AS hora FROM visitas GROUP BY ip ORDER BY total DESC", $conexion) or die ("<b>ERROR:</b><br>".mysql_error());
while($row=mysql_fetch_array($resultado)) {
echo $row['ip']." - ".$row['total']." - ".$row['hora'];
}
?>
... algo simple... si te adentras más en MySQL verás que no puede quedar nada más ahí... pero bueno, espero sea lo que necesites porque al final ya ni entendí bien...
.
Lo subí a la red para que puedas verlo funcionar:
http://jam1138.webcindario.com/visitas.php