Foros del Web » Programando para Internet » PHP »

Sumar una fila en php

Estas en el tema de Sumar una fila en php en el foro de PHP en Foros del Web. Hola, espero que alguién me pueda ayudar. Quiero sumar una fila en php. Les doy un ejemplo para que me entiendan: Tengo una tabla "gastosmensuales" ...
  #1 (permalink)  
Antiguo 06/09/2011, 13:17
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Sumar una fila en php

Hola, espero que alguién me pueda ayudar.
Quiero sumar una fila en php.
Les doy un ejemplo para que me entiendan:

Tengo una tabla "gastosmensuales"

id Mes Impuesto Alquiler estudios
1 01-2011 100 150 50
2 02-2011 90 150 45

No tengo incovenientes para obtener el total de las columnas "impuestos" o "alquiler" pero me gustaría obtener el total mensual, es decir sumar, 100 + 150 +50 para el mes de enero y 90 + 150 + 45 para el de febrero.
La verdad no se me ocurre como hacerlo.

Desde ya muchas gracias
  #2 (permalink)  
Antiguo 06/09/2011, 13:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Sumar una fila en php

Esto es un problema de sql, no de php. Sería algo así:

Código SQL:
Ver original
  1. SELECT SUM(impuestos) AS TotalImpuestos, SUM(alquiler) AS TotalAlquiler, date_format(mes, '%Y-%m') AS periodo FROM gastosmensuales GROUP BY periodo

Si especificás el mes y año:

Código PHP:
Ver original
  1. $fecha = "2011-02";//febrero de 2011
Código SQL:
Ver original
  1. SELECT SUM(impuestos) AS TotalImpuestos, SUM(alquiler) AS TotalAlquiler FROM gastosmensuales WHERE date_format(mes, '%Y-%m')  = '$fecha'
  #3 (permalink)  
Antiguo 06/09/2011, 13:31
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Sumar una fila en php

Suma de una fila con php?

Código PHP:
Ver original
  1. <?php
  2.  
  3. $c = mysql_connect('localhost', 'root', '12345');
  4. mysql_select_db('basededatos');
  5. $sql = 'select * from tabla';
  6. $res = mysql_query($sql) or die(mysql_error());
  7. $total = 0;
  8.  
  9. while ($reg = mysql_fetch_array($res)) {
  10.     $total = $reg['impuesto'];
  11.     $total += $reg['alquiler'];
  12.     $total += $reg['estudios'];
  13.     echo "mes: {$reg['mes']} total: $total <br />";
  14. }

y ya depende de como manejes el mes, pero eso se hace mejor con mysql.

o algo así:

Código PHP:
Ver original
  1. <?php
  2. $c = mysql_connect('localhost', 'root', '12345');
  3. mysql_select_db('basededatos');
  4. $sql = 'select mes, sum(impuesto+alquiler+estudios) as total from tabla group by mes';
  5. $res = mysql_query($sql) or die(mysql_error());
  6.  
  7. while ($reg = mysql_fetch_array($res)) {
  8.     echo $reg['mes'] . ' ' . $reg['total'] . '<br />';
  9. }

saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 06/09/2011 a las 13:44
  #4 (permalink)  
Antiguo 07/09/2011, 07:48
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sumar una fila en php

Andres / Walter:

Les agradezco su ayuda y rapidez para contestar, voy a probar que alternativa es más conveniente para lo que necesito.

Saludos
  #5 (permalink)  
Antiguo 07/09/2011, 13:37
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sumar una fila en php

Andres, use el segundo código que funciona muy bien.
Pero tengo un inconveniente para mostrarlo en una tabla.
Todos los datos se reflejan en una tabla dinamica que al ingresar un nuevo registro se actualiza.
Cuando pego "echo $reg['total'] . '<br />'; en el campo de la tabla dinamica, no se refleja en èl sino que aparece en el angulo superior izquierdo de la pantalla, justo por encima de la tabla.
Que puedo estar haciendo mal?
  #6 (permalink)  
Antiguo 07/09/2011, 13:38
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Sumar una fila en php

mmm ni idea, adivinar es imposible. Coloca el código a ver que estás haciendo.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 07/09/2011, 14:30
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Sumar una fila en php

No estarás jugando con CSS, eso podría ser por un position: absolute
  #8 (permalink)  
Antiguo 08/09/2011, 09:40
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Sumar una fila en php

Aca les dejo el código, desde ya muchas gracias


Código PHP:
<?php
    $c 
mysql_connect('localhost''root''');
    
mysql_select_db('economia_domestica');
     
     
$sql 'select Periodo, sum(luz+gas) as total from gastosmensuales group by Periodo';
    
$res mysql_query($sql) or die(mysql_error());
     
    while (
$reg mysql_fetch_array($res)) {
        echo 
$reg['total'] . '<br />';
    }
   
     
$sqlrs1 "SELECT * FROM gastosmensuales ORDER BY Periodo ASC";
    
$rs1 mysql_query($sqlrs1) or die(mysql_error());
    
$row_rs1 mysql_fetch_assoc($rs1);
    
$totalRows_rs1mysql_num_rows($rs1);
    
?>
    
 <table border="1">
   <tr>
       <td>id</td>
       <td>Periodo</td>
       <td>gas</td>
       <td>luz</td>
       <td>total</td>
   </tr>
    <?php do { ?>
   <tr>
        <td><?php echo $row_rs1['id']; ?></td>
        <td><?php echo $row_rs1['Periodo']; ?></td>
        <td><?php echo $row_rs1['gas']; ?></td>
        <td><?php echo $row_rs1['luz']; ?></td>
        <td>[B][COLOR="Red"]// Aca quiero que se vean los resultado//[/COLOR][/B] </td>
    </tr>    
    <?php } while ($row_rs1 mysql_fetch_assoc($rs1));?>
    </tr>
</table>
<?php
mysql_free_result
($rs1);
?>
  #9 (permalink)  
Antiguo 08/09/2011, 12:53
Avatar de aichiche  
Fecha de Ingreso: marzo-2004
Ubicación: Valparaíso
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Sumar una fila en php

Sencillo, estás haciendo el "echo" antes de dibujar la tabla, recuerda que los tiempos de ejecución de php y de dibujado del html es distintos, primero siempre php.
Así que sugiero que el valor lo guardes en una variable y luego le des un echo en la celda de la tabla donde quieres que aparezca.
__________________
"Sólo dime qué quieres.."

Etiquetas: fila, tabla
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 07:51.