Votaciones Online

Hola,
Quiero hacer unas votaciones semanales en mi web.
La idea es la siguiente:
- Muestro mi listado de jugadores y a su derecha un botón para votar al jugador.
Quiero que desde un PC se pueda votar a 3 jugadores nada más. Después no debería permitir seguir votando.
Mi idea es crear una columna en mi bbdd llamada VOTOS. Cada voto a un jugador sumaria 1 a su numero de votos.
Mis dudas:
- Como hacer que al clickear en un botón, se sume 1 a un campo del jugador en concreto.
- Como hacer que solamente se pueda votar a 3 jugadores por PC.
- Como reinicializar la columna a principios de semana y que los PCs puedan volver a votar.
Creo que es complicado, pero confío en tu gran experiencia.
Gracias!

1 respuesta

Respuesta
1
Para sumar un voto a un jugador concreto, deberás tener un botón de submit para cada jugador. El formulario se envía, miras qué botón se ha pulsado y le sumas uno a ese jugador.
Para eso el name de cada botón debe ser diferente y tener relación con cada jugador.
Para que un PC sólo pueda emitir 3 votos semanales, debes usar cookies.
Almacena en cookies los valores que te interesan, por ejemplo el número de votos y la fecha de la última votación:
$_COOKIE["votos"] = 2;
$_COOKIE["fecha"]=date("d-m-Y");
Así cuando pulse para votar, lees estos valores y si la última vez que votó no fue esta semana, aceptas el voto y pones el contador a 1. Si ya votó esta semana, compruebas el número de votos y aceptas si es menor de 3, incrementando el contador y actualizando la fecha.
Con este sistema no te hace falta reiniciar la columna a principios de semana.
Genial, como siempre.
Una cosa más:
- Me gustaría que al hacer click y votar a un jugador, no tuviera que cambiar de página. ¿Supongo qué para ello hay que usar AJAX? ¿Podríamos darme algunas claves para poder hacerlo?
Gracias!
Como digo siempre que surge esta cuestión, en efecto, si no se quiere enviar el formulario de la manera 'habitual', sólo queda hacerlo mediante AJAX, y ésta es una tecnología que da un cierto trabajo, más aún a quien no tenga experiencia con ella.
Pero si te animas a ello, te sugiero que mires algún tutorial sobre el tema, como:
http://www.tufuncion.com/tutorial_basico_ajax

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas