Foros del Web » Programando para Internet » PHP »

Multiplicacion en php.

Estas en el tema de Multiplicacion en php. en el foro de PHP en Foros del Web. Hola, tengo el siguiente codigo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <br/>Descripción detallada del equipo a suministrar<br/><textarea name="descripcion" cols="20" rows="2"></textarea>    <br/>Cantidad <br/><input type="text" name= ...
  #1 (permalink)  
Antiguo 23/08/2012, 10:10
Avatar de Suhkha  
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 1
Pregunta Multiplicacion en php.

Hola, tengo el siguiente codigo.

Código PHP:
Ver original
  1. <br/>Descripción detallada del equipo a suministrar<br/><textarea name="descripcion" cols="20" rows="2"></textarea>
  2.  
  3.  <br/>Cantidad <br/><input type="text" name= "cantidad"/>
  4.  
  5. <br/>Costo <br/><input type="text" name= "costo"/>
  6.                                  
  7. <br/><br/><input type = "submit" value="Guardar descripción" name= "boton_desc" />
  8.  
  9.                                  
  10.     <?php
  11.     $boton_des = $_POST['boton_desc'];                     
  12.      if($boton_des != ""){
  13.                                
  14.     $descripcion = $_POST['descripcion'];
  15.     $cantidad = $_POST['cantidad'];
  16.     $costo = $_POST['costo'];
  17.                                
  18.                                
  19.  
  20. if ($cantidad > 0 and $costo > 0 and $descripcion != ''){
  21.  
  22. $precio_final = ($cantidad * $costo);
  23.  
  24. $query_insert = mysql_query("INSERT INTO partes_suministradas (descripcion, cantidad, costo) VALUES ('".$descripcion."','".number_format($cantidad,2)."','" .number_format($precio_final,2)."' )",$conexion);    
  25.        
  26.  }
  27.  }                         
  28.                            
  29.                             echo "</center>";

El codigo permite leer la descripcion del producto, la cantidad y el precio unitario.
Despues multiplica dicha cantidad por el precio unitario para poder obtener el precio final el cual se almacena en la base de datos.

El formulario si multiplica pero solo hasta centenares, por ejemplo 3 * 100 = 300
Sin embargo no me hace multiplicaciones con millares,
por ejemplo 1 * 1000 = 1000
en vez de poner 1000 pone solo 1.

¿Que es lo que puede estar pasando?

Gracias por su ayuda.
__________________
Don't look back, and try learning everyday, no matters how...
  #2 (permalink)  
Antiguo 23/08/2012, 10:29
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Multiplicacion en php.

prueba a poner el strval delante de las variables:
Código PHP:
Ver original
  1. $cantidad = strval($_POST['cantidad']);
  2. $costo = strval($_POST['costo']);

Ésta función te da el valor del string pasado por parámetro.
Te dejo un link con información:
http://es.php.net/manual/es/function.strval.php
__________________
Por favor utilizad HIGHLIGHTS en los códigos insertados para que sean más legibles
  #3 (permalink)  
Antiguo 23/08/2012, 10:34
Avatar de Suhkha  
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Multiplicacion en php.

Gracias por responder, y bueno he intentado lo que me dijiste pero no hay cambios :S u.u
__________________
Don't look back, and try learning everyday, no matters how...
  #4 (permalink)  
Antiguo 23/08/2012, 10:42
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Multiplicacion en php.

Como tienes definido el campo costo en la tabla?
prueba a hacer un echo del precio_final a ver si es un problema al insertar los datos o del cálculo.

Código PHP:
Ver original
  1. $precio_final = ($cantidad * $costo);
  2. echo 'Precio final:'.$precio_final;

Saludos
__________________
Por favor utilizad HIGHLIGHTS en los códigos insertados para que sean más legibles
  #5 (permalink)  
Antiguo 23/08/2012, 10:51
Avatar de Suhkha  
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Multiplicacion en php.

Cita:
Iniciado por sgomez Ver Mensaje
Como tienes definido el campo costo en la tabla?
prueba a hacer un echo del precio_final a ver si es un problema al insertar los datos o del cálculo.

Código PHP:
Ver original
  1. $precio_final = ($cantidad * $costo);
  2. echo 'Precio final:'.$precio_final;

Saludos
El campo costo es de tipo decimal, hice una insercion manual y me respeta los numeros millares, decimales, etc.

Ya imprimi precio final y de echo me da el resultado correcto de la multiplicacion, pero cuando se inserta a la base de datos desde ahi, no toma el valor de millares, me lo pone en unidad, como si 3000 fuera 3 o 1000 fuera 1.
__________________
Don't look back, and try learning everyday, no matters how...
  #6 (permalink)  
Antiguo 23/08/2012, 10:56
Avatar de Suhkha  
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Multiplicacion en php.

Oh ya vi donde estaba el problema! Hahaha
En mi query tengo que quitar el number format, no necesario para cantidad (es entero) y en precio final tampoco porque costo ya es de tipo decimal.

XD

Pero muchas gracias por tu ayuda.!! Me diste la pista por el tipo de valor en mi campo :)
__________________
Don't look back, and try learning everyday, no matters how...
  #7 (permalink)  
Antiguo 23/08/2012, 10:59
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Multiplicacion en php.

en el insert, en vez de hacer el number_format($precio_final,2) haz un round($precio_final,2)
__________________
Por favor utilizad HIGHLIGHTS en los códigos insertados para que sean más legibles

Etiquetas: formulario, multiplicacion, mysql
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.