Comunidad de diseño web y desarrollo en internet online

Suma y resta de dos campos de diferentes tablas en mysql con php

Citar            
MensajeEscrito el 11 May 2016 05:02 pm
Hola tengo un problema estoy realizando un sistema de pagos de recargas de teléfono para el cual se genera un reporte de perdidas para el cual involucro tres tablas agentes donde esta la información de la persona que recibe los pagos cuento con la tabla de pagos donde se almacenan los pagos que el agente a realizado pero solo pero aqui solo es el estimado cuento con la tabla de abonos que aqui es lo real que el agente a pagado de los pagos que ha hecho:



lo que quiero es que el reporte mi imprima lo que el agente a pagado lo que ha abonado y por ultimo lo que el agente tiene de adeudo viendolo de otra manera :
SALDO ESTIMADO
SALDO REAL
ADEUDO



lo que estoy intentando es esto:

<?php

$server = 'localhost';
$usuario = 'root';
$pass = '';
$bd = 'redxlagunillas';


// Connect to server.
$conexion = mysqli_connect($server,$usuario,$pass,$bd)
or die ("Error en la conexion");


$consulta = mysqli_query($conexion,"SELECT a.NombreComunidad,a.Id_Agente, sum(p.monto) as sump
FROM agente a, pagos p
WHERE a.Id_Agente=p.Id_Agente group by a.Id_Agente");


while ($mostrar = mysqli_fetch_array($consulta) ) {
$NombreComunidad = $mostrar['NombreComunidad'];
$Id_Agente = $mostrar['Id_Agente'];
$monto = $mostrar['sump'];

?>
<tr><td><?php echo $NombreComunidad; ?></td>
<td><?php echo $Id_Agente; ?></td>
<td><?php echo $monto; ?></td>


<?php
$consulta2 = mysqli_query($conexion,"SELECT sum(ab.monto) as suma,a.Id_Agente
FROM abono ab, agente a
WHERE a.Id_Agente=ab.Id_Agente group by a.Id_Agente
");

while ($mostra = mysqli_fetch_array($consulta2) ) {
?>
<td><?php echo $mostra['suma']; ?></td>
<td><?php echo $mostra['Id_Agente']; ?></td>
<td><?php echo ($mostra['suma']- $mostrar['sump']); ?></td>

<?php
} // Cerramos el segundo while
// Ahora a cerrar la fila
?>
</tr>
<?php
} // Cerramos el primer while
?>
</tbody>
</table>

pero me sale solo de un agente correctamente como se ve en la imagen se me repite el agente en donde deberian estar otros.
en la tabla que adjunte se muestran erróneos los resultados ya que en la tabla de abonos solo el agente 1 a abonado 150 los demás agentes no han abonado nada y ese mismo abono se le restan a los demás agentes.

Por natee

4 de clabLevel



Genero:Femenino  

Estudiante ingeniería sistemas computacionales

chrome
Citar            
MensajeEscrito el 14 May 2016 02:19 pm
Ejemplos más elaborados:

Código MySQL :

SELECT cantidad, codigo, descripcion, cantitad*monto as subtotal
FROM factura WHERE id=1;


Código MySQL :

SELECT codigo, producto, inventario-ventas as disponibles, inventario, ventas, costo, precio
FROM producto WHERE id=1;​

Por NeftaliYagua

18 de clabLevel



Genero:Masculino  

Activista, Desarrollador, Empresario

chrome
Citar            
MensajeEscrito el 15 May 2016 06:32 am
Gracias pero como es un reporte necesito que me muestre de todos los agentes y en el ejemplo que me das solo me desplegaria lo de agente 1 espero darme a entender.

Por natee

4 de clabLevel



Genero:Femenino  

Estudiante ingeniería sistemas computacionales

chrome
Citar            
MensajeEscrito el 18 May 2016 07:22 pm

natee escribió:

Gracias pero como es un reporte necesito que me muestre de todos los agentes y en el ejemplo que me das solo me desplegaria lo de agente 1 espero darme a entender.


Sólo te queda hacer el Join, eso es fácil para ti, tu lo sabes hacer. ;)

Por NeftaliYagua

18 de clabLevel



Genero:Masculino  

Activista, Desarrollador, Empresario

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.