Ver Mensaje Individual
  #14 (permalink)  
Antiguo 14/01/2014, 15:37
Avatar de DCienfuegos
DCienfuegos
 
Fecha de Ingreso: febrero-2009
Ubicación: Asturias
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Suma de valores

Cita:
Iniciado por Alexis88 Ver Mensaje
Si haces esto:

Código PHP:
Ver original
  1. $neto = 5.03 + 4.82;
  2. $final = number_format($neto, 2, ".", ",");

Vas a obtener 9.85, como en este ejemplo: http://ideone.com/mUMYXJ

Si quieres guardar el dato en la BD como 9.85 y no como 10, tienes que hacer compatible el tipo de datos que alberga el campo de la tabla con el dato que deseas insertar. Si el tipo es INT, no puedes esperar a que guarde decimales, para eso está el tipo DECIMAL.

Saludos
Sigue sin funcionar, el campo neto en la db ya esta en decimal y el codigo en php es:

Código:
// Procesar entradas
$id     = MySQLi_Real_Escape_String($dbh, $_SESSION["id_user"]);
$id2    = MySQLi_Real_Escape_String($dbh, $_POST['id']);
$e_e6  = MySQLi_Real_Escape_String($dbh, $_POST['e_6']);
$e_e8  = MySQLi_Real_Escape_String($dbh, $_POST['e_8']);
$e_e10  = MySQLi_Real_Escape_String($dbh, $_POST['e_10']);
$e_e12  = MySQLi_Real_Escape_String($dbh, $_POST['e_12']);
$e_evip  = MySQLi_Real_Escape_String($dbh, $_POST['e_vip']);
$suma = $e_e6 + $e_e8 + $e_e10 + $e_e12 + $e_evip;
$neto = ($e_e6 * 0.9) + ($e_e8 * 0.9) + ($e_e10 * 0.9) + ($e_e12 * 0.9) + ($e_evip * 0.9);
$final = number_format($neto, 2, ".", ",");

if ($id !== $id2) {
	header("Location: manage.php?msg_e=".base64_encode('Error de sincronización. Cierra tu sesión y vuelve a entrar.')); 
	exit;
};

// Actualizar valores
$query = "UPDATE `vendedores` SET `e_6` = '$e_e6', `e_8` = '$e_e8', `e_10` = '$e_e10', `e_12` = '$e_e12', `e_vip` = '$e_evip', 
`e_total` = '$suma' , `e_neto` = '$final'  WHERE `id` = '$id' LIMIT 1;";