Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2015, 22:43
andre___5025
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Sumar array filas y columnas con foreach en PHP

Buen dia amigos como estan, escribo por que necesito de su amable colaboración, estoy tabulando unos datos numericos en forma de matriz y necesito sumar las filas y las columnas de los valores utilizando ciclos foreach. Las filas las pude sumar correctamente, pero al tratar de sumar las columnas me arroja datos incoherentes, por favor amigos necesito de su ayuda es muy importante, es para un trabajo de la universidad. Dejo el codigo para visualizar lo que estoy ejecutando.

Código PHP:
Ver original
  1. <?php
  2.        $p=false;
  3.        $comprobar="";
  4.        $experto=array();
  5.        $experto2=array();
  6.        $valores2=array();
  7.        $items=array();
  8.        $items2=array();
  9.        $valores=array();
  10.        $i=0;
  11.        $j=0;
  12.        $p=0;
  13.        $cont=0;
  14.          while($row=mysql_fetch_array($result1))
  15.          {
  16.             if(!array_key_exists($row[item],$items2)){
  17.                
  18.                 $items2[$row[item]]=array();
  19.                 $items2[$row[item]][$row[cod_experto]]= $row[cod_color];
  20.             }
  21.             else{
  22.                 $items2[$row[item]][$row[cod_experto]]=$row[cod_color];
  23.             }
  24.            
  25.             if($comprobar==$row[item])
  26.                 $p=true;
  27.             else {
  28.                 $comprobar=$row[item];
  29.                 $p=false;
  30.                 $i++;
  31.                 }
  32.        
  33.             if($p==false){
  34.                 $items[$i]=$row[item];
  35.                 }    
  36.                 $experto[$j]=$row[cod_experto];
  37.                 $valores[$j]=$row[cod_color];
  38.                 $j++;
  39.          }
  40.         echo "<table id='orden_columnas' border>
  41.         <thead>
  42.         <tr>
  43.             <th>ITEM</th>";
  44.         foreach ($items2 as $e=>$ex) {
  45.             foreach($ex as $llave=>$valor){
  46.             echo "<th>$llave</th>";
  47.             }
  48.             break;
  49.         }
  50.         echo "<th>Ordenar</th>";
  51.         echo "</tr>";
  52.         echo "</thead>";
  53.         echo "<tbody>";
  54.         foreach ($items2 as $it=>$vlr_items) {
  55.             echo "<tr>";
  56.             echo "<td bgcolor=#F2F5A9>$it</td>";
  57.             $suma_filas = 0;
  58.             foreach ($vlr_items as $va=>$valores_vect) {
  59.                 echo "<td>$valores_vect</td>";
  60.             $suma_filas =$suma_filas+$valores_vect;
  61. $totaldecolumna[$valores_vect]=$totaldecolumna[$valores_vect]+$valores_vect;
  62.             }//cierra foreach valores
  63.             echo "<td>$suma_filas</td>";
  64.             echo "</tr>";
  65.             }//cierra foreach items
  66.            
  67.             echo "<tr>";
  68.             echo "<td>Suma Columnas</td>";
  69.             foreach ($vlr_items as $va=>$valores_vect) {
  70.                 echo "<td>$totaldecolumna[$valores_vect]</td>";
  71.             }
  72.             echo "</tr>";
  73.         echo "</tbody>";
  74.         echo "</table>";  
  75.    
  76.          ?>
Adjunto imagen:

http://subefotos.com/ver/?15d0049bcb...be1ca82afo.jpg