34849-vm/delete_column.php
2026-02-05 05:37:35 +00:00

45 lines
1.5 KiB
PHP

<?php
session_start();
require_once 'db/config.php';
// Asegurarse de que el usuario sea administrador
if ($_SESSION['user_role'] !== 'Administrador' && $_SESSION['user_role'] !== 'admin') {
$_SESSION['error_message'] = "Acceso denegado.";
header('Location: configuracion.php');
exit();
}
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = $_GET['id'];
try {
$pdo = db();
// Opcional: Obtener el nombre de la columna antes de eliminarla para el mensaje
$stmt_name = $pdo->prepare("SELECT nombre FROM kanban_columns WHERE id = ?");
$stmt_name->execute([$id]);
$column_name = $stmt_name->fetchColumn();
// Primero, actualiza info_productos para desasociar las tarjetas de la columna
$stmt_update = $pdo->prepare('UPDATE info_productos SET column_id = NULL WHERE column_id = ?');
$stmt_update->execute([$id]);
// Luego, elimina la columna
$stmt_delete = $pdo->prepare('DELETE FROM kanban_columns WHERE id = ?');
if ($stmt_delete->execute([$id])) {
$_SESSION['success_message'] = "Columna '" . htmlspecialchars($column_name) . "' eliminada correctamente.";
} else {
$_SESSION['error_message'] = "Error al eliminar la columna.";
}
} catch (PDOException $e) {
$_SESSION['error_message'] = "Error de base de datos: " . $e->getMessage();
}
} else {
$_SESSION['error_message'] = "ID de columna no válido.";
}
header('Location: configuracion.php');
exit;
?>