diff --git a/ajax/delete_model.php b/ajax/delete_model.php new file mode 100644 index 0000000..b721f9a --- /dev/null +++ b/ajax/delete_model.php @@ -0,0 +1,14 @@ + 0) { + $stmt = $pdo->prepare("DELETE FROM models WHERE id = ?"); + $ok = $stmt->execute([$id]); + echo json_encode(['success' => $ok]); +} else { + echo json_encode(['success' => false, 'error' => 'ID inválido']); +} diff --git a/ajax/get_tables.php b/ajax/get_tables.php index 1f7161c..05277af 100644 --- a/ajax/get_tables.php +++ b/ajax/get_tables.php @@ -25,7 +25,7 @@ try { $filtered = $stmt->fetchColumn(); } - $sql = "SELECT id, name FROM models $where ORDER BY id DESC LIMIT :start, :len"; + $sql = "SELECT id, name, version, model_size, layers FROM models $where ORDER BY id DESC LIMIT :start, :len"; $stmt = $pdo->prepare($sql); foreach ($params as $k => $v) { $stmt->bindValue($k, $v); diff --git a/editar_modelo.php b/editar_modelo.php new file mode 100644 index 0000000..2a8c02d --- /dev/null +++ b/editar_modelo.php @@ -0,0 +1,87 @@ +prepare("SELECT * FROM models WHERE id = ?"); +$stmt->execute([$id]); +$model = $stmt->fetch(PDO::FETCH_ASSOC); + +if (!$model) { + header('Location: list_tables.php?error=Modelo no encontrado'); + exit; +} + +// Si se envió el formulario +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $name = $_POST['name'] ?? ''; + $version = $_POST['version'] ?? ''; + $description = $_POST['description'] ?? ''; + $layers = $_POST['layers'] !== '' ? intval($_POST['layers']) : null; + $model_size = $_POST['model_size'] !== '' ? floatval($_POST['model_size']) : null; + + $stmt = $pdo->prepare("UPDATE models SET name=?, version=?, description=?, layers=?, model_size=? WHERE id=?"); + $ok = $stmt->execute([$name, $version, $description, $layers, $model_size, $id]); + + if ($ok) { + header('Location: list_tables.php?success=Modelo actualizado'); + } else { + header('Location: editar_modelo.php?id=' . $id . '&error=No se pudo actualizar'); + } + exit; +} +?> + + + + + + Editar Modelo + + + + +
+
+
+ Editar Modelo +
+
+ +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + Volver +
+
+
+
+ + + \ No newline at end of file diff --git a/list_tables.php b/list_tables.php index 4a6ef55..360fe37 100644 --- a/list_tables.php +++ b/list_tables.php @@ -12,15 +12,19 @@
-
-

Modelos en la Base de Datos

+
+

Modelos en la Base de Datos

+ ➕ Agregar Modelo
- + + + +
NombreAcciónVersiónTamaño/PesoCapasAcción
@@ -41,10 +45,27 @@ data: 'name', title: 'Nombre' }, + { + data: 'version', + title: 'Versión' + }, + { + data: 'model_size', + title: 'Tamaño/Peso' + }, + { + data: 'layers', + title: 'Capas' + }, { data: null, orderable: false, - render: d => `` + className: 'text-center', + title: 'Acción', + render: d => ` + + + ` } ], language: { @@ -52,6 +73,26 @@ } }); }); + + function eliminarModelo(id, btn) { + if (confirm('¿Seguro que deseas eliminar este modelo?')) { + $.post('ajax/delete_model.php', { + id: id + }, function(resp) { + if (resp.success) { + // Elimina la fila de la tabla sin recargar + $('#tables').DataTable().row($(btn).parents('tr')).remove().draw(); + } else { + alert('No se pudo eliminar el modelo'); + } + }, 'json'); + } + } + + function editarModelo(id) { + // Redirige al formulario de edición con el ID del modelo + window.location.href = 'editar_modelo.php?id=' + id; + } diff --git a/register_model.php b/register_model.php index 0e2cd0b..8f0693c 100644 --- a/register_model.php +++ b/register_model.php @@ -70,6 +70,7 @@ if (isset($_GET['success'])) {
+ Volver a la Lista