33 CARGAR CÓDIGO E IMAGEN EN EL FORMULARIO en el Sistema de Ventas con (PHP y MySql) FullStack

Duración: 18 min
Módulo: 📦 Gestión de Productos y Categorías Lección 8 de 15

Descripción

Lección 33: Carga Automática de Código y Previsualización de Imagen en el Formulario de Productos 🛠️

Esta lección se enfoca en añadir funcionalidad dinámica al formulario de registro de productos, automatizando campos clave y mejorando la experiencia del usuario con la previsualización de imágenes.

1. 🔢 Generación Automática del Código de Producto

El campo del código del producto se desactiva (disabled) y se rellena automáticamente utilizando una función PHP para asegurar un formato secuencial y uniforme:

  • Función PHP ceros(): Se utiliza una función personalizada en PHP que recibe un número y un parámetro de longitud deseada (por ejemplo, 5 dígitos). La función calcula cuántos ceros se necesitan para completar la longitud y los añade como prefijo [02:17].
  • Contador del Próximo ID: Para obtener el número que sigue en la secuencia, se llama al controlador de listado de productos y se utiliza un bucle foreach para contar el número de registros existentes. A ese conteo se le añade +1 para determinar el ID del próximo producto a registrar [05:54].
  • Formato Final: El código final se muestra en el campo con un prefijo fijo (ej. P-) concatenado con los ceros y el número de secuencia (ej. P-00002) [03:45].

2. 🗄️ Carga de Categorías y Usuarios

Se implementan los datos de las categorías y el usuario responsable en sus respectivos campos:

  • Categorías (Select/Combobox):
    • Se utiliza un elemento <select> de HTML para el campo de categoría [07:41].
    • Se llama al controlador que lista las categorías y se usa un bucle foreach para llenar dinámicamente cada opción <option> del select [09:15].
    • El value de cada opción almacena el ID de la categoría (que es lo que se guarda en la base de datos), mientras que el texto visible es el Nombre de la Categoría [11:10].
  • Usuario Registrador: El ID del usuario que ha iniciado sesión se extrae de la variable de $_SESSION y se inserta automáticamente en el campo de usuario [16:12]. Este campo también se deshabilita para evitar modificaciones.

3. 🖼️ Previsualización de Imágenes (Usabilidad y Experiencia de Usuario)

Para mejorar la experiencia del usuario y darle confianza sobre qué imagen está cargando, se implementa un script de JavaScript que permite la previsualización de la imagen seleccionada antes de enviarla al servidor [12:25]:

  • HTML Requerido: Se utiliza un input de tipo file con el ID file y un elemento de salida (etiqueta output) con el ID idList donde se mostrará la imagen [14:15].
  • Función JavaScript: El script captura el evento de selección de archivo en el input y, utilizando la API FileReader, lee el archivo seleccionado. Luego, inserta una etiqueta <img> con el source del archivo dentro del elemento output [13:07].
  • Diseño: La imagen se configura para que ocupe el 100% del ancho de su contenedor, manteniendo su proporción [15:17].

💡 Nota sobre Iconos Elegantes: Aunque el video no se centra en la adición de librerías de iconos, los tipos de input se ajustan a number (para stock y precios) y date (para fechas) [16:58]. Estos tipos de campo nativos proveen controles y validaciones elegantes por defecto en el navegador.