Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2007, 12:56
Avatar de Seppo
Seppo
 
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 10 meses
Puntos: 17
Re: Problema mostrando resultados de encuesta

El problema es q no estás dividiendo por el total, sino por el total acumulado en cada punto, entonces en el primero son 12/12, en el segundo 15/27 y en el último recién está el total, con 3/30, porque vas contando el total en la marcha.

Lo que podés hacer es esto
Código PHP:
 <?php
    $encuesta 
mysql_query("SELECT * FROM encuestas ORDER BY id_enc LIMIT 0,1");
    while(
$datos mysql_fetch_array($encuesta)) {
        
$id_enc $datos['id_enc'];
        
$pregunta $datos['pregunta'];
?>
        <div style="width: 300px;">
        <strong><?=$pregunta?></strong>
        <ul style="list-style: none;">
<?php
        $tot 
0;
        
$opts mysql_query("SELECT * FROM encuestas_opt WHERE id_enc='".$id_enc."'");
        while(
$dat2 mysql_fetch_array($opts)) {
            
$tot += $num_votos;
        }
        
mysql_data_seek($opts,0);
        while(
$dat2 mysql_fetch_array($opts)) {
            
$id_opt $dat2['id_opt'];
            
$opciones $dat2['opciones'];
            
$num_votos $dat2['num_votos'];
            
$ptos $num_votos 100;
            
$porcentaje round($ptos/$tot,0);
?>
            <li style="padding-bottom: 5px;"><?=$opciones?> - <?=$num_votos?> votos - <?=$porcentaje?>%
            <div style="width: <?=$porcentaje?>%; height: 6px; background: #cc0000;"></div></li>
<?php
        
}
?>
        </ul>
        Total: <?=$tot?>
        </div>
<?php
    
}
?>
Primero iterás para contar los votos, y después recién calculás los porcentajes