Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/03/2013, 05:10
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Bloquear boton en carrito, condicional del stock.

Insisto en que el problema es la lógica:

Código PHP:
Ver original
  1. if(isset($mi_carrito) && count($mi_carrito) > 0) {
  2.     // $mi_carrito está definido y tiene productos
  3.     // Defines la variable que servirá para saber si hay error en cantidad
  4.     $excedido = false;
  5.     // Debes recorrer el carrito para revisar producto por producto
  6.     foreach($carrito as $producto) {
  7.           $consulta = "SELECT * FROM tabla WHERE id = {$producto['id']}";
  8.           $result = mysql_query($consulta);
  9.           // Deberías hacer alguna verificación adicional
  10.           // pero se supone que siempre existirá el producto
  11.           // así que leemos directamente
  12.           $fila = mysql_fetch_assoc($result);
  13.           if($producto['cantidad'] > $fila['stock']) {
  14.                  $excedido = true;
  15.                  // Si es necesario, muestras mensaje de error para cada producto
  16.                  // algo como:
  17.                  echo "- El producto {$producto['nombre']} tiene mayor cantidad de la disponible<br />";
  18.           }
  19.     }
  20.     // Verificas si hay algún errror
  21.     if($excedido) {
  22.           // Mensaje de error de que hay uno o más productos con cantidad > stock
  23.     } else {
  24.           // Aquí muestras el botón para finalizar
  25.     }
  26. } else {
  27.     // No hay productos en el carrito!
  28. }

Con eso debería funcionar correctamente.
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 17/03/2013 a las 05:18