Código PHP:
<?php
$enkesta_destino = ""; // destino del form al ser enviado,
$size_fuente = "1"; // indica el tamaño de la fuente
$color_fuente = "#000000"; // indica el color de la fuente
$color_barras = "#CC0000"; // indicador de los porcentages elije el color que quieras
$size_barras = "10"; // indicador de la grosos de las barras q muestran los porcentajes
include('config.php');
if(!isset($_SESSION[usuario]) ) { /* si es usuario anonimo, veras los resultados pero no podras votar */
$query = "SELECT * FROM enkesta ORDER BY id DESC LIMIT 0, 1"; $resp = mysql_query($query); /* si os fijais con esta seleccion elegimos siempre la última enquesta segun la id :D */
while ($enkesta = mysql_fetch_array($resp)) {
/********************************************************************
suma de el total de votos realizados los tendremos en $votos_totales
y calculo de cada porcentage dentro del while
los tendremos en $porcentage_op1, $porcentage_op2 etc...
/********************************************************************/
$votos_totales = $enkesta[vot1] + $enkesta[vot2] + $enkesta[vot3] + $enkesta[vot4];
$mult_op1 = $enkesta[vot1] * 100; $porcentage_op1 =@ round($mult_op1 / $votos_totales,0);
$mult_op2 = $enkesta[vot2] * 100; $porcentage_op2 =@ round($mult_op2 / $votos_totales,0);
$mult_op3 = $enkesta[vot3] * 100; $porcentage_op3 =@ round($mult_op3 / $votos_totales,0);
$mult_op4 = $enkesta[vot4] * 100; $porcentage_op4 =@ round($mult_op4 / $votos_totales,0);
?>
<table width='100%' border='0'>
<tr><td align='center'><font size='<?=$size_fuente?> 'color='#000000'><b><?=$enkesta[titol]?></b></font></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>' color='#000000'><b><?=$enkesta[op1]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot1]?> votos - <?=$porcentage_op1?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op1?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>' color='#000000'><b><?=$enkesta[op2]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot2]?> votos - <?=$porcentage_op2?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op2?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>' color='#000000'><b><?=$enkesta[op3]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot3]?> votos - <?=$porcentage_op3?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op3?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>' color='#000000'><b><?=$enkesta[op4]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot4]?> votos - <?=$porcentage_op4?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op4?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td align='center'><font size='<?=$size_fuente?>' color='#000000'>Votos totales: <?=$votos_totales?></font></td><tr>
</table>
<?
}/* fin del while que muestra los datos */
} /* fin del if de si el usuario es anonimo*/
else{ /* si hay sesion abierta*/
/* Miramos si el usuario ha sido o no enquestado consultando a la tabla users */
$querys = "SELECT * FROM users WHERE nick='".$_SESSION[usuario]."'";
$respira = mysql_query($querys);
while ($jj = mysql_fetch_array($respira)) { $usuari_enkestat = $jj[enkesta]; }
if ($usuari_enkestat == "si") { /* si ya lo ha sido haremos lo mismo que si fuera animo, no puede votar pues que solo vea los resultados */
$query = "SELECT * FROM enkesta ORDER BY id DESC LIMIT 0, 1";
$resp = mysql_query($query);
while ($enkesta = mysql_fetch_array($resp)) {
$votos_totales = $enkesta[vot1] + $enkesta[vot2] + $enkesta[vot3] + $enkesta[vot4];
$mult_op1 = $enkesta[vot1] * 100; $porcentage_op1 =@ round($mult_op1 / $votos_totales,0);
$mult_op2 = $enkesta[vot2] * 100; $porcentage_op2 =@ round($mult_op2 / $votos_totales,0);
$mult_op3 = $enkesta[vot3] * 100; $porcentage_op3 =@ round($mult_op3 / $votos_totales,0);
$mult_op4 = $enkesta[vot4] * 100; $porcentage_op4 =@ round($mult_op4 / $votos_totales,0);
?>
<table width='100%' border='0'>
<tr><td align='center'><font size='<?=$size_fuente?>'color='#000000'><b><?=$enkesta[titol]?></b></font></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>'color='#000000'><b><?=$enkesta[op1]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot1]?> votos - <?=$porcentage_op1?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op1?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>'color='#000000'><b><?=$enkesta[op2]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot2]?> votos - <?=$porcentage_op2?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op2?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>'color='#000000'><b><?=$enkesta[op3]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot3]?> votos - <?=$porcentage_op3?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op3?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td height='15'><font size='<?=$size_fuente?>'color='#000000'><b><?=$enkesta[op4]?></b></font><font size='<?=$size_fuente?>'> - <?=$enkesta[vot4]?> votos - <?=$porcentage_op4?>%</font></td><tr>
<tr><td><table width='<?=$porcentage_op4?>%' height='<?=$size_barras?>' border='0' style='border: 1px #000000 solid'><tr><td style="background: <?=$color_barras?>; font-size: 2pt;"> </td></tr></table></td></tr>
<tr><td align='center'><font size='<?=$size_fuente?>'color='#000000'>Votos totales: <?=$votos_totales?></font></td><tr>
</table>
<?
} /* fin del while que muestra los datos */
} /* fin if si el usuario ya ha sido enquestado */
if ($usuari_enkestat == "no") { /* Ahora si el usuario no ha sido enquestado, que salga el formulario de votacion */
if ($vota) { /* indicamos si se ha enviado el formulario */
/* Actualizamos la tabla users e indicamos que 'si' ha votado */
$actua = "UPDATE users SET enkesta='si' WHERE nick='".$_SESSION[usuario]."'";
mysql_query($actua);
$query = "UPDATE enkesta SET $enke=$enke+1 WHERE id='".$enkesta_id."'";
mysql_query($query);
echo "Gracias por votar !!!"; /* Un mensaje que indica que se ha votado */
} /* con este break ahora pasaremos a mostrar el formulario para votar */
$query = "SELECT * FROM enkesta ORDER BY id DESC LIMIT 0, 1";
$resp = mysql_query($query);
while ($enkesta = mysql_fetch_array($resp)) {
?>
<form method="post" name="enkesta_<?=$enkesta[id]?>" action="<?=$enkesta_destino?>">
<input type="hidden" name="enkesta_id" value="<?=$enkesta[id]?>" />
<p style="text-align: left; font-weight: bold; color: #000000; font-size: 9pt;"><?=$enkesta[titol]?></p>
<input type="radio" name="enke" value="vot1" /> <?=$enkesta[op1]?><br />
<input type="radio" name="enke" value="vot2" /> <?=$enkesta[op2]?><br />
<input type="radio" name="enke" value="vot3" /> <?=$enkesta[op3]?><br />
<input type="radio" name="enke" value="vot4" /> <?=$enkesta[op4]?><br />
<p style="text-align: left;"><input type="submit" value="Enviar voto" name="vota" /></p>
</form>
<?
} /* fin if si el usuario NO ha sido enquestado */
} /* si NO es usuario anonimo */
} /* y Fin lee el final del leeme.txt para encontrarte con algunas explicaciones de cosas que puedes tener dudas */
?>
saludos
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)