Problema Funcion PHP

  • Autor Autor deskpro123
  • Fecha de inicio Fecha de inicio
deskpro123

deskpro123

Zeta
Verificación en dos pasos activada
Hola a todos, de nuevo vengo pidiendo ayuda despues de recurir a Google y Stackoverflow y no me sale.

Miren, tengo una base de datos que tiene sumas de dinero asi:

1,548.45
2,549.48
15,458.45
80.54

Cada linea un registro diferente.

Entonces uso la funcion SUM de Mysql para sumar los datos de la siguiente manera:

Insertar CODE, HTML o PHP:
$result = mysql_query('SELECT SUM(amount) AS value_sum FROM facturas'); 
$row = mysql_fetch_assoc($result); 
$pagostotal = $row['value_sum'];

Pero el problema es que no me da la suma por los puntos (.) y las comas (,), que deberia cambiar, tengo 45 minutos probando de todo y no me funciona, y tiene que ser con puntos y comas la suma.

Un saludo y gracias de antemano a todos los que me ayudan dia a dia y espero mis preguntas sirvan de ayuda para otros que buscan lo mismo en google.
 
Solucion 1:

Eso debido a que no has creado la tabla como double, si la transformas a algo asi como double(32,2) te tendria que dar lo siguiente

1548.45
2549.48
15458.45
80.54

Te aconsejo hacer un volcado de la tabla, por si te da problemas...

Una vez hecho esto te debera funcionar bien sum en mysql

Solucion 2:
Si no quieres cambiar la base de datos, lo que puedes hacer es con php es sacar todos los valores y que php te los sume, para hacer que te lo reconozca bien, deberas

1º Quitar la coma
2º He ir sumandolo...
 
Puedes probar esto
Insertar CODE, HTML o PHP:
$result = mysql_query('SELECT SUM(REPLACE(amount, ',', '.') * 1) AS value_sum FROM facturas'); 
$row = mysql_fetch_assoc($result); 
$pagostotal = $row['value_sum'];

Lo que cambie fue el sql, porque el error lo tienes en el query no en el php

Saludos.
 
Creo que el problema esta en la query, porque no probas primero con valores enteros, para saber si solo pincha por el punto y la coma...
 
Atrás
Arriba