Listar vistas de ayer

  • Autor Autor johnsmith
  • Fecha de inicio Fecha de inicio
J

johnsmith

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola

tengo una tabla con estos campos: id,noticia,hits
y quisiera saber como puedo listar las noticias mas vistas de ayer,
*hits es las visitas totales (no es por dia, ni semana)

saludos
 
Última edición:
Resulta obvio que para poder ordenar por un dato concreto, lo primero que necesitamos es eso, el dato. Si los hits que tienes no son los de día anterior, tienes que encontrar una manera de obtenerlos. A priori se me ocurren dos opciones:

- Almacenar en la tabla un campo hits_ayer con los hits acumulados hasta el día anterior y actualizarlo cada día con el valor de hits:
ORDER BY (hits - hits_ayer) DESC
Aunque descartaría esta opción sin tienes muchas filas en la tabla

- Almacenar los hits de hoy y los de ayer. Cada vez que alguien entre en la página se suma uno a hits y a hits_hoy. Al final del día solo tendrías que copiar hoy_hoy a hits_ayer y resetear hits_hoy:
ORDER BY hits ayer DESC
Aunque es un poco más lioso, te ahorras tener que hacer la resta cada vez que se tienen que listar los datos de la tabla.

Espero que te sirva. Suerte.
 
Sin fecha no veo como sea posible.

Algo mas complejo pero util para generar reportes mas avanzados es guardar los hits en una tabla aparte "hits": id, noticia, fecha_hora, ip;

Asi podrias hacer un select con cualquier fecha especifica, a cualquier noticia y detectar si son visitas o visitantes [si es la misma IP].

Pero tambien son mas querys los que se tendrian que ejecutar.

Saludos.
 
Lo primero es saber lo que quieres exactamente y prever que vas a necesitar en el futuro.

Si solo vas a necesitar las visitas por día. Añade el campo fecha a tu tabla y así a partir de hoy podrás ver noticias mas vistas por día.

Si ves que vas a necesitar ips, o algo similar, añade el campo a la tabla.

Cuando se crea algo, es muy importante analizar lo que se necesita.
 
Si ayer tienes 1000 visitas a las 00:00, puedes crear un cronjob en tu server, que sobreescriba una variable en un archivo php, donde le almacene el resultado de restar el número de visitas de ayer, con el que tiene actualmente. (4500 - 1000) imaginando que 4500 son los hits actuales.
Esa variable permanecerá todo el día, y así hasta que el cronjob la cambie de nuevo pasado el día.

Aunque lo menos complicado es como ya te dijeron, crear un campo con hits por fecha.
 
Atrás
Arriba