48 CONTROLADOR para ACTUALIZAR el producto en el SISTEMA VETERINARIO(PHP y MySql) FullStack

Duración: 11 min
Módulo: 📦 CRUD Completo de Productos y Relaciones de Tablas Lección 11 de 13

Descripción

🎬 Lección 48: Controlador para Actualizar el Producto 🔄

El objetivo es implementar el código en el archivo update.php para procesar los datos modificados del formulario y guardarlos en MySQL.

1. Configuración Inicial del Controlador

  • Reutilización de Código: Se copia la estructura y la lógica de recepción de variables del controlador de creación (create.php), ya que ambos reciben los mismos campos por el método POST. [00:34]
  • Recepción del ID: El instructor añade un campo oculto (hidden) al formulario de update.php en la vista para poder enviar el ID_producto. Este ID es crucial en el controlador para saber qué registro específico se debe actualizar. [02:12]
  • Lectura del ID: El controlador lee este ID enviado por POST en la variable $ID_producto. [02:31]

2. Creación de la Consulta SQL (UPDATE)

Se construye la sentencia SQL para la actualización:

  • Sintaxis UPDATE: La sentencia utiliza UPDATE tabla_productos SET campo1 = ?, campo2 = ?, ... [03:06].
  • Campos a Actualizar: Se incluyen todos los campos modificables del producto (nombre_producto, descripcion, stock, precios, y fecha_ingreso), más el campo de fecha_hora_actualizacion para registrar el momento del cambio. [03:33]
  • Cláusula WHERE Crítica: La parte más importante es la cláusula WHERE ID_producto = ? [04:42]. Esta condición garantiza que la actualización se aplique solo al producto cuyo ID coincida con el ID enviado desde el formulario, evitando actualizar todos los registros de la tabla.

3. Ejecución y Mensajería

  • Paso de Parámetros: Se asignan todas las variables PHP recibidas del formulario a los placeholders (?) de la sentencia SQL preparada. [05:14]
  • Manejo de Errores: Durante las pruebas, el instructor corrige un error común al copiar código: se corrigieron los nombres de las variables en la sentencia preparada ($nombre_completo a $nombre_producto) para que coincidieran con los datos del formulario. [09:34]
  • Resultado Final: Al completar la actualización, se muestra un mensaje de éxito (se actualizó el producto de la manera correcta) y se redirige al usuario al listado de productos. [07:02]

La lección concluye con la actualización exitosa de un producto de prueba en la base de datos. El próximo paso será abordar la lógica para actualizar la imagen (si el usuario selecciona una nueva).