setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Verificar si ya existe un registro para este producto en esta sede $stmt = $pdo->prepare("SELECT * FROM stock_sedes WHERE product_id = :product_id AND sede_id = :sede_id"); $stmt->execute(['product_id' => $product_id, 'sede_id' => $sede_id]); $existing_stock = $stmt->fetch(); if ($existing_stock) { // Si existe, actualizar la cantidad $new_quantity = $existing_stock['quantity'] + $quantity; $update_stmt = $pdo->prepare("UPDATE stock_sedes SET quantity = :quantity WHERE id = :id"); $update_stmt->execute(['quantity' => $new_quantity, 'id' => $existing_stock['id']]); } else { // Si no existe, insertar un nuevo registro $insert_stmt = $pdo->prepare("INSERT INTO stock_sedes (product_id, sede_id, quantity) VALUES (:product_id, :sede_id, :quantity)"); $insert_stmt->execute(['product_id' => $product_id, 'sede_id' => $sede_id, 'quantity' => $quantity]); } $message = "¡Inventario actualizado correctamente!"; } catch (PDOException $e) { $error = "Error al actualizar el inventario: " . $e->getMessage(); } } else { $error = "Por favor, complete todos los campos del formulario."; } } // Obtener productos y sedes de la base de datos para los dropdowns $products = []; $sedes = []; try { $pdo = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8", DB_USER, DB_PASS); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $products_stmt = $pdo->query("SELECT id, nombre FROM products ORDER BY nombre ASC"); $products = $products_stmt->fetchAll(PDO::FETCH_ASSOC); $sedes_stmt = $pdo->query("SELECT id, nombre FROM sedes ORDER BY nombre ASC"); $sedes = $sedes_stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = "Error al cargar datos: " . $e->getMessage(); } ?>
Registro de Entrada de Producto