luego para ver los votos lo llamo de la siguiente manera:
Código PHP:
$query = "SELECT sum(voto) FROM `votos` WHERE usuario='$user';";
$con = mysql_query($query);
$total = mysql_fetch_array($con);
| |||
Como crear un ranking Hola, tengo un sistema de votos en mi pagina, en el que inserto el nombre del usuario votado, y el valor de del voto en la bd, luego para ver los votos lo llamo de la siguiente manera: Código PHP: |
| |||
Re: Como crear un ranking Pero esque yo kiero que cada usuario pueda votar solo una vez al dia, la tabla que tengo es sta CREATE TABLE `votos` ( `id_voto` int(255) NULL auto_increment, `usuario` varchar(20) NOT NULL, `ip` varchar(20) NOT NULL, `fecha` date NOT NULL, `voto` int(2) NOT NULL, PRIMARY KEY (`id_voto`) ); si dices que es mejor un solo registro por usuario no se como hacerlo...:S que halla miles de registros influye muxo?? |
| ||||
Re: Como crear un ranking Si se puede, pero es un poco completo, hay que meterlo en arrays, y luego ordenarlo. Puedes tener como te digo, una tabla para cada usuario que contenga el numero de votos y la suma de los votos, incluso ya el promedio de los votos. Y aparte, tener una tabla para controlar 1 voto por dia donde si introduciras 1 valor por cada voto. Tabla 1: id_usuario n_votos ...numero de votos s_votos ... suma de los votos p_votos ... promedio de votos Tabla 2: id_voto id_usuario ip fecha voto Asi puedes tener mas control y hacer consultas mas rapidas, sin importar si borras la tabla 2, no perderas el registro de la calificacion de cada usuario, podras limpiar la tabla 2 diariamente ya que es 1 voto por dia y no sirve de nada tener registros de dias anteriores... |
| ||||
Re: Como crear un ranking a, una cosa, si es un voto por IP, entonces muchos no podran votar, los que se conectan con una misma IP, en un cafe web, o bajo una misma conexion de cable, etc, hay muchas razones para tener la misma IP... Otra opcion es por cookies o por registro de usuarios. |
| ||||
Re: Como crear un ranking Prueba teniendo un registro por usuario, donde guardes la cantidad de votos y la fecha de la ultima vez que voto, luego cuando este quiera votar, tomas la hora del servidos la comparas con la hora de la ultima fecha de votacion del usuario y si es menor que 1 dia lo mandas a freir huevos... Y si... influye demasiado tener muchos registros, piensa que por cada vez que el usuario qiera ver el ranking tendras que leer los 100.000 registros, osea si 100 usuarios se conectan a ver el ranking... pongale paños frios al servidor xD!!.. Suerte |
| |||
Re: Como crear un ranking y creando una tabla que contenga id_voto, usuario_votado, nº_vosts, pts_media, votosal_1,votosal_2,votosal_3,votosal_4,votosal_5. ..votosal_10 y luego ir actualizandola... y luego aparte una que controle los botos al dia... seria correcto?'?? ske kiero luego hacer estadisticas.. |
| ||||
Re: Como crear un ranking no es un tema de que sea correcto o incorrecto, sino de que sea mas eficiente o no, use menos recursos o te mate el sistema :;P (un poco exagerado), pero bueno. Si tu crees que eso te se acomoda a tus necesidades intentalo... Aun asi, si el sitio donde lo subiras no maneja un promedio de visitas muy gigantesco quizas no sea mucho el costo asociado. Pero piensalo con la almohada y siempre hay algo mejor :P!! suerte |
| |||
Re: Como crear un ranking hombre... mi aspiracion es tenerr miles y miles de visitas.... por eso quiero que sea de la mejor forma posible para que luego no de problemas... si alguien cree que es mjr deotra forma o algo porfavor que m lo diga. my objetivo es: un sistema de votos, en el que cada usuario puede votar una vez al dia a cada usuario.. y despues obtener por cada usuario la puntuacion media, el nº de votos y una serie de estadisticas.. y luego crear un ranking de los mas votados... |
| ||||
Re: Como crear un ranking como yo te digo es bueno, en una tabla mantienes a tus usuarios y su calificacion, y en otra tabla mantienes los votos diarios (diariamente la vacias para que no se sature). Yo tengo una galeria de fotos, y solo se puede votar una ves al dia por usuario, estos son mis campos: Tabla galeria_fotos pid ... id de la foto aid ... album de la foto owner_id ... dueño de la foto conteo_total ...suma de los votos n_votos .... numero de votos Y en la tabla para los votos solo tengo esto: Tabla galeria_fotos_vistas pid ... id de la foto que ya se vio quien_id ... id del que vio la foto dia ... dia que vio la foto Cada que un usuario vota, { el codigo php actualiza el conteo total, sumandole el valor del nuevo voto con el conteo_total actual, y tambien actualiza el numero de votos sumandole 1. se inserta en la tabla fotos vistas, la foto, el id del que la vio, y el dia } Para sacar el top 10, hago esto: Código PHP: |