Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Operaciones matematicas de mysql con php

Estas en el tema de Operaciones matematicas de mysql con php en el foro de PHP en Foros del Web. hola muy buenas gente soy nuevo en el foro y espero poder aportar bueno mi problema es el siguiente estoy desarrollando un sistema que me ...
  #1 (permalink)  
Antiguo 23/02/2016, 17:21
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Operaciones matematicas de mysql con php

hola muy buenas gente soy nuevo en el foro y espero poder aportar

bueno mi problema es el siguiente

estoy desarrollando un sistema que me captura pedidos y las facturas de cada pedido
mis tablas están así
tabla pedidos
idPedido(int) PK
fechaPedido(date)
descPedido(varchar)
statusPedido(varchar)
precioPedido(float)

tabla pediFact
id(int)PK
idPedido(int)FK
numeroFactura(varchar)FK
importePedido

tabla facturas
numeroFactura(varchar)PK
montoFactura(float) etc....

tal ves esta de mas pero así esta la lógica de mi base de datos, donde en la tabla pediFact hago la unión de la tabla pedidos con facturas (porque un pedido puede tener muchas facturas y una factura puede tener muchos pedidos).

hasta ahora todo bien. Lo que estoy tratando de hacer es sumar los importePedido de la tabla pediFact con el mismo idPedido y la sumatoria de estos restarla del precioPedido de la tabla pedidos, con esta consulta

Código PHP:
Ver original
  1. $resultante = mysqli_query($conexion,"select precioPedido - sum(importePedido) resultantePedido  from pedidos inner join pediFact on pedidos.idPedido=pediFact.idPedido where pediFact.idPedido=4;");
  2.  
  3.     if(mysqli_num_rows($resultante) >= true){
  4.         while($dato = mysqli_fetch_array($resultante)){
  5.             echo "Resultante del pedido".$dato[0]."<br>";
  6.         }
  7.     }

pero como salida solo me da "Resultante de pedido" y nada mas.

cabe mencionar que si hago esta consulta directamente en la consola mysql si me arroja el resultante

Código MySQL:
Ver original
  1. select precioPedido - sum(importePedido) resultantePedido  from pedidos inner join pediFact on pedidos.idPedido=pediFact.idPedido where pediFact.idPedido=4;

+-----------------------+
| resultantePedido |
+-----------------------+
| 6000 |


No se si lo que estoy haciendo sea lo ideal o tal ves hay otra forma de resolverlo mejor. La verdad no se mucho de mysql y php

Bueno ojalá puedan orientarme un poco con esto

Muchas gracias por tu ayuda
  #2 (permalink)  
Antiguo 23/02/2016, 17:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Operaciones matematicas de mysql con php

Creo que debiste publicar tu pregunta en el foro de base de datos, porque al final tu problema es la consulta en sí, que es SQL, y poco afecta que la ejecutes con PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/02/2016, 17:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Operaciones matematicas de mysql con php

Creo que te falta el alias en la consulta,
Código SQL:
Ver original
  1. [...] SUM(importePedido) AS resultantePedido.

Como consejo, si vas a usar el valor "1", no uses true, ya que confunde, y llama a las columnas o alias por su nombre, no por su posición en el arreglo ya que después hasta tú mismo te confundirás. Checa eso del AS, si no lo es, nos dices :D
  #4 (permalink)  
Antiguo 23/02/2016, 17:47
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: Operaciones matematicas de mysql con php

Cita:
Iniciado por pateketrueke Ver Mensaje
Creo que debiste publicar tu pregunta en el foro de base de datos, porque al final tu problema es la consulta en sí, que es SQL, y poco afecta que la ejecutes con PHP.
gracias pateketrueke pense ponerlo ahi pero como la consulta si funciona en la consola mysql me imagino en que debe ser la parte de php, si no que alguien me corrija
  #5 (permalink)  
Antiguo 23/02/2016, 17:55
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: Operaciones matematicas de mysql con php

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Creo que te falta el alias en la consulta,
Código SQL:
Ver original
  1. [...] SUM(importePedido) AS resultantePedido.

Como consejo, si vas a usar el valor "1", no uses true, ya que confunde, y llama a las columnas o alias por su nombre, no por su posición en el arreglo ya que después hasta tú mismo te confundirás. Checa eso del AS, si no lo es, nos dices :D
gracias por tu pronta respuesta amigo rodocoyote15 ya hice el cambio. Tomare en cuenta tu consejo gracias de nuevo

bueno ya lo revise una ves mas y era una tarugada de mi parte estaba poniendo un idPedido que aun no tenia importePedido

lo cambie por uno que si tiene importe y ya quedo pero aún asi estoy abierto a alguna sugerencia q me quieran dar si es que quieren si no pues ya ni modo
  #6 (permalink)  
Antiguo 23/02/2016, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Operaciones matematicas de mysql con php

Cita:
me imagino en que debe ser la parte de php, si no que alguien me corrija
Bueno, la culpa no es de PHP sino de cómo lo programes ¿verdad?

Cita:
bueno ya lo revise una ves mas y era una tarugada de mi parte estaba poniendo un idPedido que aun no tenia importePedido
Saludos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: fecha, matematicas, mysql, operaciones, select, 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




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