tengo este contador que saque de un ejemplo en la web ya hace tiempo:
Código PHP:
function contador() {
$ip = $_SERVER['REMOTE_ADDR'];
$sql="select ip_visto, TIMEDIFF(NOW(), fecha_visto), fecha_visto, num_visto from webadmon_contador where ip_visto='$ip'";
$rs=mysql_query($sql) or die("Problemas al ejecutar select SQL ".mysql_error());
$fila=mysql_fetch_array($rs);
$tiempo=$fila[1]; //Diferencia entre fecha guardada y fecha actual
$num_visitas=$fila[3]; //Número de visitas
$horas_t=substr($tiempo,0,2); //Número de horas transcurridas
$tiemRes = 1; //Varible de tiempo en horas para restringir la visita
if (mysql_num_rows($rs)==0){
$sql_insert="insert into webadmon_contador(ip_visto, num_visto, fecha_visto) values('$ip', 1, NOW())";
mysql_query($sql_insert) or die("Problemas al ejecutar la insert SQL ".mysql_error());
}
elseif (mysql_num_rows($rs) > 0 && $horas_t > $tiemRes){
$sql_update="update webadmon_contador set fecha_visto=NOW(), num_visto='$num_visitas'+1 where ip_visto='$ip'";
mysql_query($sql_update) or die("Problemas al ejecutar update SQL ".mysql_error());
}
$sql_no_visit="select SUM(num_visto) from webadmon_contador"; //Obtenemos la suma de todas las visitas
$rs=mysql_query($sql_no_visit) or die("Problemas al ejecutar select SQL ".mysql_error());
$fila=mysql_fetch_array($rs); //Almacenanos el resultado de la consulta en un arreglo
$num_visitas=$fila[0]; //Número de visitas
//echo $num_visitas;
}
$tiemRes = 1; //Varible de tiempo en horas para restringir la visita
que en lugar de que el parametro sea en horas pueda ponerle yo por ejemplo 10 minutos, 20 o 30
ya se que saldran opiniones que si la visita no es valida cada 10 muinutos etc etc yo estoy de acuerdo, pero es requisito del cliente, en fin
en la tabla el campo en que se guarda la fecha es:
nombre
fecha_visto
tipo
datetime
desde ya muchas gracias