Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Sumar por fila sin acumular

Estas en el tema de Sumar por fila sin acumular en el foro de PHP en Foros del Web. Hola a todos tengo la siguiente tabla Clave---Nombre---Número 123----Juan-------10,9,10 456----Ana--------10,8,5 789---Luis---------10,5,1 Necesito obtener la sumatoria por fila Clave---Nombre---Número 123----Juan-------10,9,10=29 456----Ana--------10,5,5=20 789---Luis---------10,5,1=16 Hice lo siguiente Código ...
  #1 (permalink)  
Antiguo 13/07/2016, 12:46
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Sumar por fila sin acumular

Hola a todos tengo la siguiente tabla

Clave---Nombre---Número
123----Juan-------10,9,10
456----Ana--------10,8,5
789---Luis---------10,5,1

Necesito obtener la sumatoria por fila
Clave---Nombre---Número
123----Juan-------10,9,10=29
456----Ana--------10,5,5=20
789---Luis---------10,5,1=16

Hice lo siguiente
Código PHP:
 <?php do { ?>

<?

echo '<td bgcolor="#FFFFFF" align="center" >';
echo 
"valor " .$var1//valor de mi número
echo "suma "$suma+=$var1//Con esto sumo, pero se va acumulando mi total por cada fila
echo '</td>';?>
 <?php } while ($row_empleadosmysql_fetch_assoc($empleados));

Me arroja
Clave---Nombre---Número
123----Juan-------10,9,10=29
456----Ana--------10,5,5=49
789---Luis---------10,5,1=65
  #2 (permalink)  
Antiguo 13/07/2016, 16:22
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Sumar por fila sin acumular

Podrías descomponer el valor de la columna "número" en tres valores utilizando la función explode() con la cual realizarás la separación a partir de las comas halladas, generándose así un arreglo del cual puedes obtener la sumatoria de sus valores utilizando la función array_sum(); de esta manera, evitarás el uso de una variable acumuladora que te está causando el problema y podrás imprimir las sumas de cada registro de forma directa.

También puedes hacerlo con código SQL, pero es un tema de otro foro.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/07/2016, 16:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Sumar por fila sin acumular

Todo lo que necesitas es inicializar la variable $suma dentro del do:

$suma = 0;
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 13/07/2016, 16:38
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Sumar por fila sin acumular

Cita:
Iniciado por Triby Ver Mensaje
Todo lo que necesitas es inicializar la variable $suma dentro del do:

$suma = 0;
Hola Triby hice lo siguiente

Código PHP:
<?php do { ?> 

<? 
 
echo '<td bgcolor="#FFFFFF" align="center" >'
$suma+=$var1//Con esto sumo, pero se va acumulando mi total por cada fila 

echo "valor " .$var1//valor de mi número 

echo '</td>';?> 
 <?php } while ($row_empleadosmysql_fetch_assoc($empleados));

$suma=0;  //inicialice a 0 ?>

Sale la sumatoria, pero el ultimo valor dentro del ciclo no se esta sumando
  #5 (permalink)  
Antiguo 13/07/2016, 16:56
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Sumar por fila sin acumular

Gracias Triby cambie mi iniciador y funciono Ok

Etiquetas: acumular, fila, mysql, 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 13:20.