Foros del Web » Programando para Internet » PHP »

Sumar campos de tabla mysql con php

Estas en el tema de Sumar campos de tabla mysql con php en el foro de PHP en Foros del Web. Hola que tal! soy nueva en el foro y también en esto de programar pero ojalá puedan ayudarme, mi problema es que tengo una tabla ...
  #1 (permalink)  
Antiguo 04/10/2012, 17:30
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 7 años, 2 meses
Puntos: 1
Exclamación Sumar campos de tabla mysql con php

Hola que tal! soy nueva en el foro y también en esto de programar pero ojalá puedan ayudarme, mi problema es que tengo una tabla llamada factura con los sdiguientes campos:

id_factura num_partida num_contrato num_factura monto_total
1 4 3 1 20
2 5 2 6 30
3 5 2 7 30

Lo que intento hacer es que mi query sume el campo monto_total pero sólo de las facturas que correspondan a la misma partida

Ej: que sume las facturas 6 y 7 correspondientes a la partida 5

Les agradecería mucho su respuesta! Saludos



Código PHP:
<?php
error_reporting
(E_ALL);
$connect mysql_connect('localhost''ccdgti','ccdgti');
if (!
$connect) {
   die(
'Could not connect: ' mysql_error());
}
//$registro = $_POST["monto_anual"];

$bd =  mysql_select_db("ccdgti",$connect);
$prueba "select f.num_partida, f.anio, f.monto_total, c.monto_partida,(c.monto_partida-f.monto_total) as resta from factura f, contrato c where f.num_partida = c.num_partida";
$resultado mysql_query ($prueba,$connect);
?>
Código HTML:
<table border="1" align="center" width="750">

	<tr> 
<th width="58" background="../images/gris1.png"><font color="#FFFFFF"><p align="center"> Num. de Partida </p></font></th>
<th width="66" background="../images/gris1.png"> <font color="#FFFFFF"><p align="center">Monto Total </p></font></th>
<th width="66" background="../images/gris1.png"> <font color="#FFFFFF"><p align="center">Monto Disponible </p></font></th>
<th width="66" background="../images/gris1.png"> <font color="#FFFFFF"><p align="center">Monto Devengado </p></font></th>
<th width="70" background="../images/gris1.png"> <font color="#FFFFFF"><p align="center">Año </p></font></th>
<th width="30" background="../images/delete.jpg"> <font color="#FFFFFF"></font></th>
  </tr>
</table> 
Código PHP:
<?php
{
while (
$raw=mysql_fetch_array($resultado)){
?>
<?php 
echo "<td><a href=\"actualizar.php?num_partida=".$raw ['num_partida']."\">";
echo 
$raw['num_partida']."</a></td>"
?>
<td align="center" bgcolor="#FFFFFF"><?php echo number_format($raw ["monto_partida"],2,".",",");?></td>   
<td align="center" bgcolor="#FFFFFF"><?php echo number_format($raw ["resta"],2,".",",");?></td>  
<td align="center" bgcolor="#FFFFFF"><?php echo number_format($row ["total"],2,".",",");?></td>   
<td align="center" bgcolor="#FFFFFF"><?php print $raw ["anio"];?> </td>      
<td><a href="eliminate.php?num_partida=<?php echo $raw ["num_partida"];?>">Eliminar</a></td>  
  </tr>    
 <?php

}
}
?>
  #2 (permalink)  
Antiguo 04/10/2012, 22:20
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 10 años
Puntos: 168
Respuesta: Sumar campos de tabla mysql con php

"Lo que intento hacer es que mi query sume el campo monto_total pero sólo de las facturas que correspondan a la misma partida

Ej: que sume las facturas 6 y 7 correspondientes a la partida 5"

para eso 1ero tenes que agrupar ( group by ) por facturas, y luego sumarlas ( sum )
  #3 (permalink)  
Antiguo 05/10/2012, 08:53
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 7 años, 7 meses
Puntos: 319
Respuesta: Sumar campos de tabla mysql con php

Cita:
para eso 1ero tenes que agrupar ( group by ) por facturas, y luego sumarlas ( sum )
para tu caso particular quedaria:
Código MySQL:
Ver original
  1. SELECT num_partida AS Partida , SUM( monto_total ) AS Total
  2. FROM  factura
  3. GROUP BY  num_partida
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #4 (permalink)  
Antiguo 05/10/2012, 13:51
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 7 años, 2 meses
Puntos: 1
Respuesta: Sumar campos de tabla mysql con php

Muchas gracias NSD! por tu respuesta! Pero no me resultó o tal vez lo estoy implementando mal.. lo inserté en el código de la siguiente forma:

Código PHP:
<?php

$bd 
=  mysql_select_db("ccdgti",$connect);
$prueba "select f.num_partida, f.anio, f.monto_total, c.monto_partida,(c.monto_partida-f.monto_total) as resta from factura f, contrato c where f.num_partida = c.num_partida";
$res "SELECT num_partida as partida, SUM(monto_total) as total FROM factura GROUP BY num_partida";

$resultado mysql_query ($prueba,$connect);
$result mysql_query ($res,$connect);
?>
Código PHP:
<?php
{
    
while (
$rowmysql_fetch_assoc($result))
$total $row ['total'];{
    
while (
$raw=mysql_fetch_array($resultado)){

?>
Es correcto lo que hice? no estoy muy convencida porque al parecer me falta llamar la parte en donde dice AS partida verdad?
  #5 (permalink)  
Antiguo 05/10/2012, 18:43
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 7 años, 7 meses
Puntos: 319
Respuesta: Sumar campos de tabla mysql con php

ehhh si..., no entiendo que tiene que ver el:
Cita:
$prueba = "select f.num_partida, f.anio, f.monto_total, c.monto_partida,(c.monto_partida-f.monto_total) as resta from factura f, contrato c where f.num_partida = c.num_partida";
sacando eso seria asi:

Código PHP:
Ver original
  1. <?php
  2.     $Conecto = mysql_connect('localhost','user','pass');
  3.     $SelecDB = mysql_select_db("ccdgti",$Conecto);
  4.     $Consulta = "SELECT num_partida AS Partida, SUM(monto_total) AS Total FROM factura GROUP BY num_partida";
  5.     $Resultado = mysql_query ($Consulta,$Conecto);
  6.     while ($Datos = mysql_fetch_array($Resultado)){
  7.         Echo('Partida:'.$Datos[Partida].' | Total:'.$Datos[Total].'<Br />');
  8.     }
  9. ?>

suponiendo que los nombres de los campos estan bien deberia funcionar, pruebalo y me cuentas
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #6 (permalink)  
Antiguo 08/10/2012, 14:03
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 7 años, 2 meses
Puntos: 1
Respuesta: Sumar campos de tabla mysql con php

Hola, muchas gracias por tu respuesta otra vez!

Te explico.. este query :
$prueba = "select f.num_partida, f.anio, f.monto_total, c.monto_partida,(c.monto_partida-f.monto_total) as resta from factura f, contrato c where f.num_partida = c.num_partida";

es porque quiero sacar esos datos de las tablas factura y contrato, también quiero realizar la suma que incluí, ya probe el query que me mandaste en Navicat (es el que uso para mi bd) y ahí funciona bien, pero al momento de insertarlo en el código, me trae el mismo resultado para todo.. :/

Sigo intentando solucionarlo, lo mas seguro es que sea error mío..

Saludos!
  #7 (permalink)  
Antiguo 10/10/2012, 12:11
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 7 años, 2 meses
Puntos: 1
Respuesta: Sumar campos de tabla mysql con php

DNS..por fin lo logré!! el problema eran mis querys.. muchas gracias por tu ayuda!

Saludos..

Etiquetas: campos, mysql, registro, sql, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:34.