Foros del Web » Programando para Internet » PHP »

Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Estas en el tema de Contador visitas 24horas. Eliminar datos de la BD pasado un día. en el foro de PHP en Foros del Web. Buenas Es una pregunta que ya he realizado en el subforo de bases de datos y que no tiene mucho que ver con PHP, pero ...
  #1 (permalink)  
Antiguo 29/05/2008, 06:38
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Buenas

Es una pregunta que ya he realizado en el subforo de bases de datos y que no tiene mucho que ver con PHP, pero espero que me podáis dar algún consejo porque los de bases de datos no se dedican mucho a hacer contadores xD

Tengo la intención de hacer mi propio contador de visitas únicas 24 horas. (desde ips diferentes)

Para ello quiero almacenar la ip de cada usuario junto con su fecha (Date) en una tabla.
Como unicamente me interesa saber el número de visitas diarias, no me interesa tener toda esta inforamción guardada una vez pasado el día.

Había pensado en guardar ip y fecha unicamente durante 1 dia. Una vez pasado ese día contaría las filas (teniendo en cuenta que unicamente se permite insertar un mismo ip una vez) y las pasaría a otra tabla que contubiera el número de visitas únicas por día. (visitas, dia)

Mi pregunta es:
- ¿Se os ocurre algún otro método mejor para hacer esto?
- ¿Cómo eliminaríais los datos de un día sabiendo que ya ha pasado ese día?

A la segunda pregunta, mi intención era la de ir insertando ips y fechas hasta que se intentara insertar una tupla con el campo "fecha" diferente a las demás fechas.
Entonces procedería a eliminarlas todas, pasar un count de estos datos a otra tabla y empezar a insertar las tuplas con la nueva fecha.
Es decir, que siempre que alguien se meta un día diferente del que tengo almacenado, borraría todo y empezaría con los datos de un nuevo día.

El problema está en que los datos no se borran hasta que nadie se metiera en la página en el nuevo día, no se si me explico...

Gracias.
  #2 (permalink)  
Antiguo 29/05/2008, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Hola IMAC/

Para borrar los datos cada día te recomendaría hacer un cron job que se ejecute todos los días a las 12 pm, así lo que haces es contar los registros, los guardas y borras.

Saludos.
  #3 (permalink)  
Antiguo 29/05/2008, 10:51
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Cita:
Iniciado por GatorV Ver Mensaje
Hola IMAC/

Para borrar los datos cada día te recomendaría hacer un cron job que se ejecute todos los días a las 12 pm, así lo que haces es contar los registros, los guardas y borras.

Saludos.
Gracias GatorV
¿Eso lo puedo hacer en un server normal con mysql?
  #4 (permalink)  
Antiguo 29/05/2008, 15:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Solo sí esta corriendo bajo Unix/Linux, si tienes Windows, revisa en tu panel de control de tu hosting si te ofrecen tareas programadas.

Saludos.
  #5 (permalink)  
Antiguo 29/05/2008, 15:05
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Contador visitas 24horas. Eliminar datos de la BD pasado un día.

Cita:
Iniciado por GatorV Ver Mensaje
Solo sí esta corriendo bajo Unix/Linux, si tienes Windows, revisa en tu panel de control de tu hosting si te ofrecen tareas programadas.

Saludos.
Funciona bajo LINUX
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:17.