Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/06/2004, 14:26
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Yo guardaría las votaciones en otra tabla relacionada con el "ID" de tu usuario.

votaciones
id_votación
id_usuario
voto

Como dices que tienes usuarios registrados .. en todo momento podras averigüar ese ID_usuario para hacer el INSERT correspondiente a tu tabla "votaciones" .. Por lo mismo puedes hacer una consulta a esa tabla para ver si ese ID_usuario ya está en tu tabla .. si está es que ya votó y tu veras si le dejas votar o no .. (lo ideal es que no le dejes votar más)

A su vez .. ese sistema sería poco versatil .. Tienes que definir una fecha de expiración o finalización de la votación .. para que puedan votar nuevamente en otra votación que puedas hacer. Bajo la misma filosofía podrías tener otro campo más para guardar que "votación" peternet el voto y tener N votaciones a la vez o ya vencidas (por eso esa fecha de "fin de votaciones" ..)

Sería algo así:

votacion
id_votacion (autoincremental y único)
nombre_votacion
fecha_fin_votos (DATETIME)

(podrias definir fecha de inicio también y así "programar" N votaciones en el tiempo ..)

votos
id_votos (autoincremental y único)
id_usuario
id_votacion
voto

Todo lo demas es SQL para hacer tus consultas a esas tablas. La media se obtiene con AVG() si mal no recuerdo de Mysql .. algo tipo:

Código PHP:
<?
//conectas a tu BD .. etc
$sql="SELECT AVG(voto) AS media FROM votos WHERE id_votacion='laquesea'";
$resultado=mysql_query($sql);
$media=mysql_result($resultado,0,"media");
echo 
$media;
?>
Para "votar" .. simplemente haces un formulario HTML común con tus botonoes "radio" de mismo nombre todos .. todo bajo un formulario que apunte a tu script PHP que hará:

1) verficar si existe el ID_usuario en la tabla "votos":
$sql="SELECT COUNT(*) FROM votos WHERE id_usuario='$id_usuario'";

2) si existe .. le dices que no puede votar ... (incluso esta verificación la puedes hacer para mostrar o no el formulario de votación en tu página a los que ya votaron y así mostrarle los resultados .. pues ya votó).

3) registrar el voto si corresponde.

El script para ver la media y sacar porcentajes si lo necesitas es sólo otra consulta SQL tipo la del ejemplo que también puse ..


Un saludo,

Última edición por Cluster; 11/06/2004 a las 14:29