49 CONTROLADOR para ACTUALIZAR la IMAGEN 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 12 de 13

Descripción

🎬 Lección 49: Controlador para Actualizar la Imagen del Producto 📸

El objetivo de esta lección es implementar la validación dentro del controlador update.php para manejar la actualización de la imagen.

1. Lógica Condicional para la Imagen

La clave de la actualización es determinar si el usuario ha subido un nuevo archivo:

  • Verificación: Se utiliza una sentencia if para preguntar si el campo file del formulario ($_FILES['file']['name']) contiene un valor (es decir, si es distinto de nulo). [02:07]
  • Campo Oculto (Nombre Actual): Para que la lógica funcione, primero se añade un campo oculto (hidden) en la vista update.php que almacena el nombre actual de la imagen del producto, obtenido directamente de la base de datos. Este nombre es leído en el controlador como la variable $imagen. [03:13]

2. Procesamiento de la Imagen

EscenarioResultado en el Controlador
Sube una Nueva ImagenSe ejecuta el bloque if: [05:16]
 1. Se genera un nuevo nombre único para el archivo (usando la concatenación de fecha/hora). [06:22]
 2. Se usa move_uploaded_file para subir el nuevo archivo al servidor. [06:31]
 3. La variable $imagen se actualiza con este nuevo nombre único. [06:48]
No Sube una Nueva ImagenSe ejecuta el bloque else: [05:26]
 La variable $imagen mantiene el nombre de archivo que se leyó del campo oculto (el nombre original).

3. Ejecución de la Sentencia SQL

  • Consulta Única: El controlador ejecuta una única sentencia SQL UPDATE (definida en el video anterior) que incluye el campo de la imagen. [04:35]
  • Actualización: Dado que la variable $imagen siempre contiene el nombre correcto (ya sea el nuevo o el original), el producto se actualiza correctamente en la base de datos sin importar si se cambió la imagen o no. [07:40]

El video concluye con la confirmación de que la función de editar ha sido completada, y el próximo tutorial se centrará en la acción Borrar (Delete). [10:25]