Ayuda con este sencillo codigo de actualización!!
Publicado por John (33 intervenciones) el 20/04/2018 17:17:31
Hola amigos, no se si postear esto por php o mysql.
en el siguiente codigo tengo una simple consulta para actualizar un registro, especificamente la cantidad, le quiero hacer una resta a un articulo que tengo registrado en la bd.
pero el script corre y no me arroja ningun error, pero tampoco me actualiza nada en la bd
probe varias veces el tipo de variable q recibo del formulario,de los calculos y consulta del while para evitar tratar con string con la funcion gettype(), en la BD probe con los tipos de dato float y decimal y no me funciona ninguno, realizando la consulta en el sql de mysql se realiza perfecto, asi q debo tener algun erron el el php
en el siguiente codigo tengo una simple consulta para actualizar un registro, especificamente la cantidad, le quiero hacer una resta a un articulo que tengo registrado en la bd.
pero el script corre y no me arroja ningun error, pero tampoco me actualiza nada en la bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
include '../../bd/conexion.php';
echo "Monto Solicitado: ".$solicitado=$_POST['cantidad']."<br>";
settype($solicitado,"double"); //transformar variable en float
echo "Alimento: ".$ali=$_GET['ali']."<br>";
$consulta="select sum(cantidad) as cuenta from m_alimentacion where id_alimentos='$_GET[ali]'";
$resultado=mysqli_query($conexion,$consulta);
while($fila=mysqli_fetch_array($resultado)){
echo "Monto Disponible: ".$disponible=$fila['cuenta'];
echo "<br>";
settype($disponible,"double");
}
//echo gettype($solicitado); verificar que tipo de datos es la variable
//echo gettype($disponible);
echo "<br>";
if ($solicitado <= $disponible){
echo "Resultado: ".$resta=$disponible-$solicitado;
echo "<br>";
echo "Tipo de numero en resta: ". gettype($resta);
echo "<br>";
echo "Tipo de numero en formato 2 decimales: ". gettype($resta);
$consulta1="UPDATE m_alimentacion SET cantidad=$resta
WHERE id_alimentos='$ali'";
$resultado1=mysqli_query($conexion,$consulta1)or die(mysqli_error());
/*echo "<script>
alert('Alimento egresado correctamente');
window.location.href='m1_alimentacion.php';
</script>";*/
}
else{
echo "Cantidad insuficiente, vuelve a intentarlo";
}
probe varias veces el tipo de variable q recibo del formulario,de los calculos y consulta del while para evitar tratar con string con la funcion gettype(), en la BD probe con los tipos de dato float y decimal y no me funciona ninguno, realizando la consulta en el sql de mysql se realiza perfecto, asi q debo tener algun erron el el php
Valora esta pregunta
0