Foros del Web » Programando para Internet » PHP »

Sumar campos en PHP y Mysql

Estas en el tema de Sumar campos en PHP y Mysql en el foro de PHP en Foros del Web. Hola amigos. Tengo el siguiente problema. Tengo una base de datos mysql, en donde tengo campos como cod_cliente, numero_boleta, total. cod_cliente | numero boleta | ...
  #1 (permalink)  
Antiguo 24/04/2013, 10:00
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Sumar campos en PHP y Mysql

Hola amigos.
Tengo el siguiente problema.

Tengo una base de datos mysql, en donde tengo campos como cod_cliente, numero_boleta, total.


cod_cliente | numero boleta | total
1111 | 01 | 111
1111 | 02 | 222
1111 | 03 | 333
2222 | 09 | 11
2222 | 11 | 23


en donde no se como hacer desde PHP, que realize una suma y me deje en otra tabla el cod_cliente y el total.

cod_cliente | total
1111 | 666
2222 | 34


Saludos espero una ayudita por favor.
  #2 (permalink)  
Antiguo 24/04/2013, 10:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sumar campos en PHP y Mysql

Cita:
en donde no se como hacer desde PHP
¿Y por qué no haces la suma en SQL?
Código MySQL:
Ver original
  1. SELECT cod_cliente, numero_boleta, SUM(total) total
  2. FROM tabla
  3. GROUP BY cod_cliente
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/04/2013, 10:38
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Sumar campos en PHP y Mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Y por qué no haces la suma en SQL?
Código MySQL:
Ver original
  1. SELECT cod_cliente, numero_boleta, SUM(total) total
  2. FROM tabla
  3. GROUP BY cod_cliente
Gracias por responder.

Al realizar tu consulta suma y agrupa pero despues como los paso a la otra tabla, y despues que realice eso, como puedo actualizar por un conjunto de clientes?
  #4 (permalink)  
Antiguo 24/04/2013, 10:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sumar campos en PHP y Mysql

Cita:
Al realizar tu consulta suma y agrupa pero despues como los paso a la otra tabla, y despues que realice eso, como puedo actualizar por un conjunto de clientes?
Para responderte eso, tendrías que darnos más detalles respecto a la estructura de datos, al menos los CREATE TABLE de las tablas involucradas, y qué cosas quieres visualizar, y cuáles almacenar en base (son conceptos totalmente diferentes).
Lo que nos dices no alcanza para entender claramente lo que hay que hacer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 24/04/2013, 10:55
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Sumar campos en PHP y Mysql

Resulta que tengo una tabla factura.

Código MySQL:
Ver original
  1. CREATE TABLE `facturas` (
  2.   `codfactura` int(11) NOT NULL auto_increment,
  3.   `fecha` date NOT NULL,
  4.   `iva` tinyint(4) NOT NULL,
  5.   `codcliente` varchar(12) character set latin1 NOT NULL,
  6.   `estado` varchar(1) NOT NULL default '0',
  7.   `totalfactura` int(11) NOT NULL,
  8.   `fechavencimiento` date NOT NULL default '0000-00-00',
  9.   `borrado` varchar(1) NOT NULL default '0',
  10.   PRIMARY KEY  (`codfactura`),
  11.   KEY `codfactura` (`codfactura`)
  12. )

Que es la que tiene todos los datos, de las ventas durante un día o un periodo "X"

Ahora lo que deseo realizar es agrupar todos los clientes de manera individual, es decir si el cliente compra dos veces en el mes, me lo agrupe en uno solo con un total de las ventas.

Y eso guardarlo en otra tabla

Código MySQL:
Ver original
  1. CREATE TABLE `facturasacumuladas` (
  2.   `fechaupdate` date NOT NULL,
  3.   `codcliente` varchar(12) character set latin1 NOT NULL,
  4.   `estado` varchar(1) NOT NULL default '0',
  5.   `totalfactura` int(11) NOT NULL,
  6.   `totalabono` int(11) NOT NULL,
  7.   `fechavencimiento` date NOT NULL default '0000-00-00',
  8.   PRIMARY KEY  (`codcliente`),
  9.  )

y así, obtener una tabla donde se le puede aplicar los abonos. y después consultarla solamente con lo que debe el cliente "X"


Gracias.
  #6 (permalink)  
Antiguo 24/04/2013, 11:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sumar campos en PHP y Mysql

Por o que parece, lo que necesitas es un
Código MySQL:
Ver original 
Donde el SELECT tiene que devolverte un registro a insertar por cada cliente.
Haz la prueba así: Construye en base a lo que te dije ese SELECT, y si los datos son correctos, agregale antes el INSERT.
El caso del UPDATE, de ser necesario, es algo diferente...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 24/04/2013, 11:41
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Sumar campos en PHP y Mysql

Mira tenia pensado algo así.
Realizar el select para que haga la suma del total de las ventas, y el código del cliente guardarlo en algún parámetro, al igual que el total de las ventas.

y ahí hacer una condición con el cliente si no existe se inserta pero si existe se realiza un update.


de poder realizar alguna idea de como pasarlo al código?
  #8 (permalink)  
Antiguo 24/04/2013, 11:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sumar campos en PHP y Mysql

Cita:
y ahí hacer una condición con el cliente si no existe se inserta pero si existe se realiza un update.
Ese tipo de consultas no las puedes hacer en MySQL. Con otros DBMS si, pero no es el caso de MySQL.
Habría que probar el INSERT con la cláusula ON DUPLICATE KEY, que posiblemente pueda resolverlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, 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 11:44.