Saludos :)
Llevo dos dias con esto asi que a ver si alguien puede echarme una manita, que de veras la necesito.
Mi problema viene en la linea 36 del codigo (en el unico UPDATE que hay). La consulta esta mal hecha (lo sé, aunque no me da error en el wamp), y aunque he probado a hacerla de muchas maneras, que igualmente me marcaba correcto pero NO me modificaba nada, opte por usar la consola "automatica" que viene en PHPMYADMIN (por eso la consulta os la paso asi xD porque realmente yo estoy estudiando SQL que en realidad es casi lo mismo). Cuando le marco la resta que tiene que hacer la hace en javascript pero en mysql tengo mis dudas. O no hace la resta o no me lo modifica. Y ya no sé que hacer.
Siento mi extensa redaccion y mi mala expresion... son los nervios por no encontrar la maldita solucion... empiezo a estar exhausto
Código PHP:
Ver original<?php
//comenzamos o continuamos con nuestra sesion
//nos conectamos a la base de datos
$mysqli = new mysqli("localhost", "root", "", "gameover");
$mysqli->select_db("gameover");
//si el post esta instanciado y no esta vacio
//Esto es la variable del producto que el cliente selecciona
$product = $_POST["product"];
//Recorre la base de datos y muestra en una lista (con el codigo que hay al final) los productos que hay
$result = $mysqli->query("select * from productos where id_productos='". $product."'");
while($fila = $result->fetch_assoc()){
$id = $fila['id_productos'];
$productos = $fila['productos'];
$cantidad = $fila['cantidad'];
// siquiero fotos en la base de datos tendria que incluir $ruta = $fila['rutas'];
//echo '<script>alert("El producto es:'.$productos.'")</script>';
}
$result2 = $mysqli->query("select precio from precio where id_productos='". $product."'");
while($fila = $result2->fetch_assoc()){
$precio = $fila['precio'];
}
$cantidadb=$_POST["cantidad"];
$coste=$precio*$cantidadb;
$inserta = "INSERT INTO presupuestos (productos, coste, cantidad) VALUES ('". $productos."', '".$coste."', '".$cantidadb."')";
//Si la cantidad que nos escribe el usuario es menor igual a la cantidad que hay en la base de datos,
// hacemos una consulta para insertar los datos en el presupuesto y enviamos la modificacion de la cantidad de
// productos que tenemos ahora en la base de datos
if($cantidadb<=$cantidad){
$result3 = $mysqli->query($inserta);
$result3 = $mysqli->query("select productos, coste, cantidad from presupuestos");
$cantidadNew = $cantidad - $cantidadb;
$consulta="UPDATE `gameover`.`productos` SET `cantidad` = '".$cantidadNew."' WHERE `productos`.`id_productos` =".$productos;
while($fila2 = $result3->fetch_assoc()){
}
echo '<script language="JavaScript" type="text/javascript">alert("Pedido enviado");</script>';
echo '<script language="JavaScript" type="text/javascript">alert("En el almacen hay '.$cantidad.'");</script>';
echo '<script language="JavaScript" type="text/javascript">alert("El comprador pide '.$cantidadb.'");</script>';
echo '<script language="JavaScript" type="text/javascript">alert("El total es '.$cantidadNew.'");</script>';
$result4=$mysqli->query($consulta);
$result4=$mysqli->query("select cantidad from productos");
while($fila2 = $result4->fetch_assoc()){
}
}else{
echo '<script language="JavaScript" type="text/javascript">alert("Cantidad incorrecta");</script>';
}
}
//Es parte de la consulta para saber el producto que el cliente quiere
$resultSelect = $mysqli->query("select id_productos, productos from productos");
$muestraProducto = '<select readonly="disabled" id="productil" name="product">
<optgroup label="Normal">';
while($fila = $resultSelect->fetch_assoc()){
$muestraProducto .= '<option value="'.$fila["id_productos"].'">'.$fila["productos"].'</option>';
}
$muestraProducto .= '</optgroup></select> <p><strong>Cantidad</strong></p>
<input type="text" name="cantidad" size="7"/>
<div id="boton2"><input type="submit" name="Comprar" value="Comprar"\></div>
<div id="boton3"><input type="reset" name="Borrar" value="Borrar"\></div> ';
?>
Solo os pongo el formulario de HTML para resumiroslo (el resto carece de utilidad para el codigo de PHP y son un porron de lineas inutiles para el problema :/ )
Código HTML:
Ver original<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label id="product" for="productil"><p>Selecciona el artículo que deseas comprar
<p></label> <?php echo $muestraProducto ?>
Un saludo y agradezco cualquier ayuda.