false, 'message' => 'ID de producto no especificado.']); exit; } $id = intval($_GET['id']); require_once 'conexion.php'; header('Content-Type: application/json'); // Verificar si la columna Estado existe $checkColumn = $conexion->query("SHOW COLUMNS FROM productos WHERE Field='Estado'"); $columnaExists = $checkColumn && $checkColumn->num_rows > 0; if ($columnaExists) { // Soft delete: marcar el producto como inactivo $conexion->query("SET FOREIGN_KEY_CHECKS=0"); $stmt = $conexion->prepare("UPDATE productos SET Estado = 0 WHERE ID_Producto = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $conexion->query("SET FOREIGN_KEY_CHECKS=1"); if ($stmt->affected_rows > 0) { echo json_encode(['success' => true, 'message' => 'Producto eliminado correctamente.']); } else { echo json_encode(['success' => false, 'message' => 'Error al eliminar el producto o no existe.']); } } else { // Fallback: verificar si la columna Activo existe $checkColumnActivo = $conexion->query("SHOW COLUMNS FROM productos WHERE Field='Activo'"); $activoExists = $checkColumnActivo && $checkColumnActivo->num_rows > 0; if ($activoExists) { $conexion->query("SET FOREIGN_KEY_CHECKS=0"); $stmt = $conexion->prepare("UPDATE productos SET Activo = 0 WHERE ID_Producto = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $conexion->query("SET FOREIGN_KEY_CHECKS=1"); if ($stmt->affected_rows > 0) { echo json_encode(['success' => true, 'message' => 'Producto eliminado correctamente.']); } else { echo json_encode(['success' => false, 'message' => 'Error al eliminar el producto o no existe.']); } } else { $conexion->query("SET FOREIGN_KEY_CHECKS=0"); $stmt = $conexion->prepare("DELETE FROM productos WHERE ID_Producto = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $conexion->query("SET FOREIGN_KEY_CHECKS=1"); if ($stmt->affected_rows > 0) { echo json_encode(['success' => true, 'message' => 'Producto eliminado correctamente.']); } else { echo json_encode(['success' => false, 'message' => 'Error al eliminar el producto o no existe.']); } } } ?>