Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/03/2013, 19:29
Lex_720
 
Fecha de Ingreso: febrero-2013
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Bloquear boton en carrito, condicional del stock.

Buenas a todos, tengo un problema y espero me puedan ayudar los que saben bastante de php veran tengo una pagina con un carrito de compras y los productos con su cantidad de stock, al momento de querer comprar mas de la cantidad sale un msj de error y el boton de "continuar" se bloquea pero solo si excedo el ultimo producto. Si el stock se excede con un producto anterior sale el error mas no se me bloquea el boton, les dejo el codigo:


Código PHP:
//Tomo la variable del POST
if (isset($_POST['id_txt']))
{
$id=$_POST['id_txt'];
$nombre=$_POST['nombre'];
$precio=$_POST['precio'];
$cantidad=$_POST['cantidad'];
        
//Formulo mi carrito
$mi_carrito[]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cantidad);
}
       if (isset(
$_SESSION['carrito']))
       {
       
$mi_carrito=$_SESSION['carrito'];
        
    if (isset(
$_POST['id_txt']))
    {
        
$id=$_POST['id_txt'];
        
$nombre=$_POST['nombre'];
        
$precio=$_POST['precio'];
        
$cantidad=$_POST['cantidad'];
        
$pos=-1;
        
        for(
$i=0;$i<count($mi_carrito);$i++)
            {
                if(
$id==$mi_carrito[$i]['id'])
                { 
                
$pos=$i
                }
            }
         if(
$pos<>-1)
         {
                 
$cuanto=$mi_carrito[$pos]['cantidad']+$cantidad;
             
$mi_carrito[$pos]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cuanto); 
         } 
         else 
         {
            
$mi_carrito[]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cantidad);
         }
    }
}

//Hago la tabla, muestro los productos comprados etc.

//Este es el codigo del stock
if(isset($mi_carrito))
{
$id=$mi_carrito[$i]['id'];
$can=$mi_carrito[$i]['cantidad'];
$error='<h8>¡Cantidad en stock superada!</h8>';
    
$consulta=mysql_query("select * from productos WHERE id='$id'");
while(
$filas=mysql_fetch_array($consulta)) 
{
$stock=$filas['cuanto_hay'];
        
if (
$stock<$can) echo $error;
else 
'&nbsp;';
}
}

//Este es el codigo para bloquear el boton del formulario
if (isset($error))
{
    
//Control de cantidad agregada
    
if(isset($mi_carrito))
    {    
        if (
$stock<$can)  //AQUI ES EL ERROR, ME CUMPLE LA CONDICION PERO SOLO SI ES EN EL ULTIMO PRODUCTO DE LA LISTA.
        

        echo 
'Modifique la cantidad del producto excedido para continuar.';
        }
        else
        {
    
//El boton del formulario
<form id="form1" name="form1" method="post" action="confirmarpedido.php">
<
input type="submit" class="button" name="confirmarpedido" id="confirmarpedido" value="Confirmar Pedido" />
</
form>
//END

            
}
        }
    }
    else 
    {
    echo 
'No hay productos en su carrito.';
    } 
Les agradeceria mucho su ayuda, saludos.