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,