Foros del Web » Programando para Internet » PHP »

select sum dentro de un while

Estas en el tema de select sum dentro de un while en el foro de PHP en Foros del Web. Tengo la siguiente tabla en donde llamo mediante sql a todos los "operadores" de la bd y me los muestra sin problemas mediante un while, ...
  #1 (permalink)  
Antiguo 30/01/2009, 07:19
 
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
select sum dentro de un while

Tengo la siguiente tabla en donde llamo mediante sql a todos los "operadores" de la bd y me los muestra sin problemas mediante un while, el tema es que en la siguiente columna de la tabla quiero mostrar la suma de los mts hechos por cada operador mediante un select sum(mts_prin) where oper_prin=al operador de la columna anterior.. etc ... es hay donde topan mis conocimientos, ojala alguien me ilumine ... gracias =)


Código PHP:
<table width="200" border="1">
  <tr>
    <td>operador</td>
    <td>tot. mts. </td>
  </tr>
  <tr>
    <td>
<?php
   
include("conn.php");
   
$link=Conectarse();
   
$q1=mysql_query("SELECT DISTINCT oper_prin FROM `principal`");
   while(
$row mysql_fetch_array($q1)) 
echo 
" <tr><td>".$row["oper_prin"]."</td>" ;
   
mysql_free_result($q1);
?></td>
  </tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
  #2 (permalink)  
Antiguo 30/01/2009, 09:23
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 9 meses
Puntos: 43
Respuesta: select sum dentro de un while

Pueds explicar mas claro los campos que quieres sumar donde los deseas poner
  #3 (permalink)  
Antiguo 30/01/2009, 09:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: select sum dentro de un while

Mmm prueba este query:
Código sql:
Ver original
  1. SELECT oper_prin, SUM(mts_prin) AS 'suma' FROM `principal` GROUP BY oper_prin

Luego en tu PHP:
Código php:
Ver original
  1. <table width="200" border="1">
  2.   <tr>
  3.     <td>operador</td>
  4.     <td>tot. mts. </td>
  5.   </tr>
  6.   <tr>
  7.     <td>
  8. <?php
  9.    include("conn.php");
  10.    $link=Conectarse();
  11.    $q1=mysql_query("SELECT oper_prin, SUM(mts_prin) AS 'suma' FROM `principal` GROUP BY oper_prin");
  12.    while($row = mysql_fetch_array($q1)) {
  13. echo " <tr><td>".$row["oper_prin"]."</td>" ;
  14.         echo "<td>".$row["suma"]."</td></tr>" ;
  15.    }
  16. ?></td>
  17.   </tr>
  18.     <td>&nbsp;</td>
  19.     <td>&nbsp;</td>
  20.   </tr>
  21. </table>

Saludos
  #4 (permalink)  
Antiguo 30/01/2009, 09:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años
Puntos: 0
ok ... si te fijas el while existente esta referido a los operadores y se encuentran en la primera columna de la tabla ... los campos que quiero sumar deberian estar en la segunda columna de la tabla con relacion a la primera columna ... osea:

operadores---- tot. mts
PEDRO---------------40
JUAN-----------------60
LUIS-----------------100

PEDRO tiene varios mts dentro de la BD, lo que vendria a mostrar seria la suma de estos ...

genial gatorv, salio a la perfeccion ;)

muchas gracias.

Última edición por GatorV; 30/01/2009 a las 10:25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:10.