34849-vm/save_product.php
2026-02-03 03:53:33 +00:00

37 lines
1.6 KiB
PHP

<?php
session_start();
require_once 'db/config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Recoger todos los datos del formulario
$id = $_POST['id'] ?? null;
$nombre = $_POST['nombre'] ?? '';
$sku = !empty($_POST['sku']) ? $_POST['sku'] : null;
$costo = !empty($_POST['costo']) ? (float)$_POST['costo'] : 0.00;
$precio_venta = !empty($_POST['precio_venta']) ? (float)$_POST['precio_venta'] : 0.00;
$description = $_POST['description'] ?? '';
$provincia_id = !empty($_POST['provincia_id']) ? $_POST['provincia_id'] : null;
$show_on_panel = isset($_POST['show_on_panel']) ? 1 : 0;
$db = db();
if (!empty($id)) {
// Actualizar producto existente
$sql = "UPDATE products SET nombre = ?, sku = ?, costo = ?, precio_venta = ?, description = ?, provincia_id = ?, show_on_panel = ? WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $show_on_panel, $id]);
$_SESSION['success_message'] = "Producto actualizado exitosamente.";
} else {
// Crear nuevo producto
// No se insertan columnas generadas como ganancia_unidad, ingreso_total, ganancia_total
$sql = "INSERT INTO products (nombre, sku, costo, precio_venta, description, provincia_id, show_on_panel, unidades_vendidas) VALUES (?, ?, ?, ?, ?, ?, ?, 0)";
$stmt = $db->prepare($sql);
$stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $show_on_panel]);
$_SESSION['success_message'] = "Producto creado exitosamente.";
}
header('Location: productos.php');
exit;
}
?>