Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Ayuda sumar campos de un registro (http://www.forosdelweb.com/f86/ayuda-sumar-campos-registro-531099/)

theyard 06/11/2007 12:37

Ayuda sumar campos de un registro
 
Hola amigos

Soy bastante novato y estoy trabajando con PHP5 MYSQL5. Estoy creando una página para generar facturas a través de un formulario que inserta el registro en la base de datos. Además de los datos normales (cliente, dirección, etc.) he creado 5 lineas de concepto con sus respectivos campos de importe y además un campo de importe total.

Lo que me trae loco es que no consigo encontrar la forma de que el campo importe_total me sume los 5 campos de importe de cada concepto.
He probado incluso con crear un trigger que inserte el valor al crear el registro en la BD, pero no me lo permite...........

A ver si me podeis ayudar por favor

BrujoNic 06/11/2007 12:53

Re: Ayuda sumar campos de un registro
 
Código PHP:

UPDATE tabla SET importe_total = (importe1+importe2+importe3+importe4+importe5

Yo en tu lugar, no crearía el campo importe total, ya que en un simple SELECT podría calcularlo y ahorraría espacio en la tabla y BD.

Código PHP:

SELECT importe1importe2importe3importe4importe5
(
importe1+importe2+importe3+importe4+importe5) as Importe_total
FROM tabla 


theyard 06/11/2007 13:10

Re: Ayuda sumar campos de un registro
 
Gracias por tu rápida respuesta.

Quizás tienes razón en que no es necesario crear el campo en el formulario a la hora de crear el registro, pero en la base de datos sí que lo necesito para el cálculo de impuestos (VAT, IVA, etc) a partir de este importe total.

Por esto comentaba que intenté crear un trigger que actualizase el campo cada vez que se inserta un registro en la tabla, pero me salió un mensaje en pantalla que mysql no pudo actualizar el valor porque la tabla estaba siendo usada por el hecho que "disparó" el trigger¿?¿?¿?¿?

Lo ideal sería encontrar una forma en la que poder definir automáticamente que el valor de un campo en un registro sea la suma (u otra operación) de otros campos de la misma tabla........ Pero no tengo ni idea de como hacer esto????


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.