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
| Escenario | Resultado en el Controlador |
|---|---|
| Sube una Nueva Imagen | Se 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 Imagen | Se 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]
Lecciones
🎨 Fundamentos e Interfaz Pública (Front-End con Bootstrap)
Lección 6. 06 FILAS Y COLUMNAS con Bootstrap en el SISTEMA VETERINARIO (PHP y MySql) FullStack
20 min
Lección 9. 09 CARDS con BOOTSTRAP en mi PÁGINA WEB en el SISTEMA VETERINARIO (PHP y MySql)FullStack
22 min
Lección 10. 10 Galeria de imágenes en mi PÁGINA WEB en el SISTEMA VETERINARIO (PHP y MySql)FullStack
16 min
Lección 11. 11 Sección de testimonio de clientes en el SISTEMA VETERINARIO (PHP y MySql) FullStack
8 min
🔐 Autenticación, Sesiones y Base de Datos (Back-End Core)
Lección 2. 16 LOGIN FORMULARIO en PÁGINA WEB en el SISTEMA VETERINARIO (PHP y MySql)FullStack
19 min
Lección 6. 20 Consulta SQL para lectura de USUARIOS en el SISTEMA VETERINARIO (PHP y MySql)FullStack
13 min
👤 CRUD Completo de Usuarios (Gestión de Datos)
Lección 4. 29 ZONA HORARIA para registro de datos en el SISTEMA VETERINARIO(PHP y MySql)FullStack
26 min
Lección 6. 31 Como INSTALAR mensajes con SWEETALERT2 en el SISTEMA VETERINARIO(PHP y MySql)FullStack
15 min
📦 CRUD Completo de Productos y Relaciones de Tablas
Lección 7. 44 Cargar imagen del PRODUCTO al PROYECTO en el SISTEMA VETERINARIO(PHP y MySql)FullStack
15 min
Lección 9. 46 CONSULTA SQL CON RELACIÓN DE TABLAS en el SISTEMA VETERINARIO(PHP y MySql) FullStack
12 min
Lección 10. 47 LECTURA de datos del PRODUCTO en el SISTEMA VETERINARIO(PHP y MySql) FullStack
12 min
Lección 13. 50 CONTROLADOR para DELETE el producto en el SISTEMA VETERINARIO(PHP y MySql)FullStack
9 min
🌟 Mejora de la Experiencia y Visualización de Productos
📅 Desarrollo del Módulo de Reservas con FullCalendar
Lección 6. 60 MODAL de Bootstratp en FULLCALENDAR en el SISTEMA VETERINARIO (PHP y MySql) FullStack
12 min
🔄 Lógica de Registro, Login y Reservas (Back-End Avanzado)
Lección 4. 67 Formulario de REGISTRO en FULLCALENDAR en SISTEMA VETERINARIO (PHP y MySql) FullStack
10 min
Lección 5. 68 CONTROLLER de REGISTRO en FULLCALENDAR en SISTEMA VETERINARIO (PHP y MySql) FullStack
9 min
🛡️ Seguridad, Administración de Citas y Cierre
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️