Foros del Web » Programando para Internet » PHP »

Resetear

Estas en el tema de Resetear en el foro de PHP en Foros del Web. Buenos Dias. Estoy empezando a hacer 1 script para un topsite. Y soy algo novato, me gustaria hacer que una tabla de mysql , se ...
  #1 (permalink)  
Antiguo 22/08/2004, 02:15
 
Fecha de Ingreso: julio-2004
Mensajes: 46
Antigüedad: 12 años, 4 meses
Puntos: 0
Resetear

Buenos Dias.


Estoy empezando a hacer 1 script para un topsite. Y soy algo novato, me gustaria hacer que una tabla de mysql , se resetee ( se ponga a 0 ) cada 24 horas. Y si sabeis como , tambien me gustaria saber como poner a 2000 la tabla cada 48 por ejemplo.



Gracias.

Un Saludo.
  #2 (permalink)  
Antiguo 22/08/2004, 02:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 14 años, 11 meses
Puntos: 126
Pero que es eso de que se "ponga a 0" .. o a 2000 .. ?

Cuando se trabaja con Base de datos .. normalmente no se "ponen a cero" nada .. sino que tu "top" tendrá una fecha de validez .. desde una fecha a otra .. periodo en en el cual recolectaras cierta información para esos registros como por ejemplo un puntaje.

Para cada "top" (del rango de fechas definido) simplemente sigues añadiendo registros de votaciones por fechas y sólo muestras el total desde la fecha de incio que quieras hasta la de fin (sería lo más versatil como para tener un historial de todos los "tops" que han pasado).

Se trata de guardar en tu tabla de "votaciones" los registros de los sitios que entren en el "top" y relacionada a esta .. las votaciones recibidas cada una con su fecha (registros)

Las tablas a emplear serían tipo:

tabla top_sitios
id_top_sitio
nombre_sitio
descripcion_sitiio
url_sitio

tabla votos_top_sitio
id_voto_top
id_top_sitio <-- "clave foránea" que relacionará ambas tablas.
fecha_voto
voto

Con relación 1 sitio -> N votos. Al registrar la fecha del voto para el sitio en cuestión .. puedes hacer consultas SQL para obtener por ejemplo el total de votos (o 10 últimos totales para hacer tu "top" y ordenarlos) entre unas fechas dadas, .. podrías ver los top top's de un mes .. el "top" desde el inicio de tus registros .. y cualquier combinación que se te ocurra para presentar esos datos. Lo importante será que tendrás esos datos "normalizados" como para poder hacer dicho juego de consultas SQL que deberás implemtar.

Esa sería mi propuesta .. si te pones a penarlo tal vez veas otras soluciones (mejores o peores) .. El caso es que debes partir por el diseño de tu Base de datos ("modelo de datos") y definir bien: por qué quieres que se ponga a "cero"....

Si lo deseas .. movemos el mensaje al foro de "base de datos" para que te orienten mejor al respecto .. y si quieres algún "top" ya hecho pasate por: www.hotscripts.com

Un saludo,

Última edición por Cluster; 22/08/2004 a las 02:52
  #3 (permalink)  
Antiguo 22/08/2004, 03:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 14 años, 11 meses
Puntos: 126
Otra fórmula sería (con menos consumos de recursos que la anterior) simplemente sería actualizar un registro a cada voto .. (creo que es esto lo que estás intentando hacer ya?)

tabla top_sitios
id_top_sitio
nombre_sitio
descripcion_sitiio
url_sitio

tabla tops_votos
id_top
id_top_sitio
votos


Para crear de forma automática o como tu dices "resetear" el "top" en curso .. deberías ejecutar un script cada el intervalo de tiempo que definas bajo un "Cron Job" (linux) o "programador de taréas" (windows) .. sería cosa de hacer el "UPDATE" correspondiente al campo "votos" para dejarlo con valor "cero" (un Update sin "WHERE" para que afectase a todos los registros de esa tabla ).

Un saludo,

Última edición por Cluster; 22/08/2004 a las 03:07
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 05:45.