Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2013, 12:49
Avatar de livication
livication
 
Fecha de Ingreso: noviembre-2009
Mensajes: 78
Antigüedad: 15 años
Puntos: 0
Calcular el porcentaje equivalente !

Estimado foreros

Espero puedan ayudarme en el siguiente problema.

Necesito hacer un par de calculos y el ultimo de ellos me tiene complicado por el orden en que se recorren las variables.ME EXPLICO

En una tabla obtengo todos los "volumenes" de un dato X, los cuales los sumo a medida que se imprimen y mostrar al final el resultado de todos la suma
Y en la columna siguiente debo calcular el porcentaje equivalente de cada volumen en relacion a la suma total....pero no lo puedo hacer ya que mientras recorro todos los volumenes, no estoy con el dato final de la suma...

Podrian ayudarme


Código HTML:
Ver original
  1. <?php
  2. if($_POST["buscar"] != ''){
  3.     $cont = $_POST["cont-oculto"];
  4.     for($i = 1; $i <= $cont; $i++){
  5.         $variable = $_POST["campo".$i];
  6.         $variable1 = $_POST["campo1".$i];
  7.         echo '<br />';     
  8.  
  9. $sql = ( "
  10.            SELECT              
  11.                     ps.prodescuadria,ps.prodlargo,ps.prodvolumen,COUNT(prodescuadria),COUNT(prodlargo),prodpzas
  12.            FROM
  13.                     esquemaprograma AS ep JOIN simulaciones AS s ON (s.profolio=ep.profolio) AND (ep.esqcodigo=s.esqcodigo) AND (ep.patcodigo=s.patcodigo)
  14.            JOIN     produccionsimulada AS ps ON (s.simcodigo=ps.simcodigo)
  15.            
  16.            WHERE
  17.                     ep.profolio='$variable' AND
  18.                     ep.patcodigo='$variable1' AND
  19.                     prodtipo!='C'
  20.            GROUP BY        
  21.                     prodescuadria,prodlargo,prodvolumen,prodpzas       
  22.            ORDER BY
  23.                     prodvolumen DESC " );      
  24.                                                            
  25. $result = pg_query ( $dbconn, $sql ) or die ("ERROR EN CONSULTA"); 
  26.  
  27. //Contador de Enumeradcion
  28. $cont = 1;
  29.  
  30. $num = pg_num_rows($result);
  31. echo $num;
  32.  
  33. if( pg_num_rows($result) != 0 ){
  34.     $suma = 0;
  35.             while( $row = pg_fetch_assoc($result) ){                           
  36. ?>
  37.                             <tr>
  38.                                 <td background="imag/bg_menuon.gif"><?php echo $cont++; ?></td>
  39.                                 <td><?php /*concatenacion largoXescuadria*/
  40.                                           $a = $row["prodescuadria"];
  41.                                           $b = $row["prodlargo"];
  42.                                           echo "$a".x."$b";
  43.                                     ?></td>
  44.                                 <td><?php echo $row["prodpzas"];
  45.                                           $suma_pzas = $suma_pzas + $row["prodpzas"];   ?></td>
  46.                                 <td><?php echo number_format($row["prodvolumen"], 3,',','');
  47.                                          /*suma volumen por folio  */
  48.                                           $suma = $suma + $row["prodvolumen"];
  49.                                          
  50.                                           ?></td>
  51.                                 <td><?php $porcent = number_format((($row["prodvolumen"] / $suma_todo)*100), 2,',','.');  
  52.                                          /*Calculo porcentual*/
  53.                                           echo $porcent."%";
  54.                                           $suma_porce = $suma_porce + $porcent;
  55.                                     ?></td>
  56.                                
  57.                             <?php
  58.                             }
  59.                             /*suma volumen total de folio*/
  60.                             $suma_todo = $suma_todo + $suma;
  61.                             /*suma porcentaje total = 100%*/
  62.                             $suma_porcent = $suma_porcent + $suma_porce;
  63.                     }                  
  64.         }
  65. }  
  66. ?> 
  67. <input type="hidden" id="cont-oculto" name="cont-oculto" />
  68. </tr>  
  69.     <td colspan="2" align="center" class="itemname" background="imag/background.png">TOTAL</td>
  70.         <th align="right" style="border-top: 1px solid #CCC;background: url(imag/dtable.gif);border-right: 1px solid #CCC"><?php echo $suma_pzas ?></th>                            <th align="right" style="border-top: 1px solid #CCC;background: url(imag/dtable.gif);border-right: 1px solid #CCC"><?php echo number_format($suma_todo, 3,',',''); ?></th>
  71.         <th align="right" style="border-top: 1px solid #CCC;background: url(imag/dtable.gif);border-right: 1px solid #CCC"><?php echo $suma_porcent."%";  ?></th>              
  72.     </tbody>