Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar decimales desde Aplicacion

Estas en el tema de Guardar decimales desde Aplicacion en el foro de PHP en Foros del Web. Hola a todos verán en mi aplicación tengo un input que es de tipo moneda es decir que ingresan montos de un producto vendido por ...
  #1 (permalink)  
Antiguo 02/06/2015, 08:49
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Guardar decimales desde Aplicacion

Hola a todos verán en mi aplicación tengo un input que es de tipo moneda es decir que ingresan montos de un producto vendido por ejemplo 2,500.00 y en mi bd para ese input tengo un campo de tipo decimal pero no lo guarda, he aquí mi consulta que debería realizar una función para formatear los números y si fuese una función como la debería hacer.
  #2 (permalink)  
Antiguo 02/06/2015, 11:33
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Guardar decimales desde Aplicacion

¿Cómo está definido el decimal en tu base de datos?
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #3 (permalink)  
Antiguo 02/06/2015, 11:57
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Guardar decimales desde Aplicacion

de esta manera simple

Código MySQL:
Ver original
  1. `seg_valor_venta` decimal(65,3) DEFAULT NULL,
  #4 (permalink)  
Antiguo 02/06/2015, 13:02
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Guardar decimales desde Aplicacion

¿Algún ejemplo a la hora de guardar?
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #5 (permalink)  
Antiguo 02/06/2015, 14:11
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Guardar decimales desde Aplicacion

si te refieres a mi aplicación el usuario lo guarda asi 2,500.00
  #6 (permalink)  
Antiguo 02/06/2015, 14:37
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Guardar decimales desde Aplicacion

Si, pero sé más específico.
Un trozo de código, la consulta que ejecutas, etc.
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #7 (permalink)  
Antiguo 02/06/2015, 14:48
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Guardar decimales desde Aplicacion

lo mando como un dato normal asi por medio de POST
Código PHP:
Ver original
  1. $data_seg = array(     
  2. 'tipo_moneda' => $_POST['tipo_moneda']);
obviamente que dentro de ese array hay mas campos que envió pero tengo problemas con este y para la inserción en la bd es asi
Código PHP:
Ver original
  1. $valor_venta = mysql_real_escape_string($data_seg['valor_venta']);
  2. $query = "insert into seg_comercial(seg_valor_venta) values (' $valor_venta')"
como mencione anteriormente de que manera lo haria ya que en el input colocan 2,500.00 y cuando le tratan de guardar me sale esto
columm count doesn't match value count row 1 y si cambio el dato y le colo 25000 sin la coma si lo guarda
  #8 (permalink)  
Antiguo 02/06/2015, 15:41
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Guardar decimales desde Aplicacion

Básicamente te dice que en un lado hay más columnas que en otro, eso es por la coma de tu número.
El separador de decimal si no me equivoco es el punto, eso bien, pero, la coma no sé si la acepta como separador de millar. De todas formas prueba esto:
Código PHP:
Ver original
  1. $query = "insert into seg_comercial(seg_valor_venta) values ('".$valor_venta."')";
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP

Última edición por zalito12; 02/06/2015 a las 15:50
  #9 (permalink)  
Antiguo 02/06/2015, 15:57
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Guardar decimales desde Aplicacion

Gracias si lo guarda pero hay un pequeño problema cuando lo guarda no guarda 2,500.00 lo guarda asi 2.00 hice un var_dump en mi aplicación para ver que envía y lo manda así
Código PHP:
Ver original
  1. ["valor_venta"]=>string(8)"2,500.00"
en mi bd el campo esta así
Código MySQL:
Ver original
  1. `seg_valor_venta` decimal(15,2) DEFAULT NULL,

Gracias Nuevamente
  #10 (permalink)  
Antiguo 02/06/2015, 17:20
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Guardar decimales desde Aplicacion

Parece que esa coma te va a traer más problemas de los que parece.
Miara a ver si el problema es de eso quitando la coma, prueba algo así:
Código PHP:
Ver original
  1. $query = "insert into seg_comercial(seg_valor_venta) values ('".str_replace(",","",$valor_venta)."')";
Antes busqué en la documentación de sql y según dice el valor por defecto para separar decimales es el punto '.', así que supongo que eso está bien.
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #11 (permalink)  
Antiguo 02/06/2015, 19:06
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: Guardar decimales desde Aplicacion

El separador de millares no existe en la base de datos. Es un tema de representación visual. Para la base no existe,y al ponerlo lo interpreta como separador de columnas.
Pon sólo el entero y los decimales separados con el punto y nada más.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 03/06/2015, 08:51
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Guardar decimales desde Aplicacion

Muchas Gracias se Soluciono faltaba solo cambiar esa coma de verdad que hace varios días estaba con este problema.

Este foro ayuda mucho pero no todos los usuarios tienen la misma amabilidad en Fin Nuevamente Gracias

Etiquetas: aplicacion
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 19:21.