![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
14/01/2014, 15:37
|
![Avatar de DCienfuegos](http://static.forosdelweb.com/customavatars/avatar287430_1.gif) | | | Fecha de Ingreso: febrero-2009 Ubicación: Asturias
Mensajes: 195
Antigüedad: 16 años Puntos: 3 | |
Respuesta: Suma de valores Cita:
Iniciado por Alexis88 Si haces esto:
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;";
|