56 – CONTROLLER para BUSCAR CLIENTES en el FORMULARIO MODAL del sistema con BD (👨💻PHP y MYSQL💻)

Duración: 12 min
Módulo: 🚗 Registro de Vehículos y Gestión de Clientes Lección 9 de 10

Descripción

Lección 56 – CONTROLLER para BUSCAR CLIENTES en el FORMULARIO MODAL del sistema con BD (👨💻PHP y MYSQL 💻)

En esta lección esencial, implementarás la consulta SQL y la lógica de verificación en el controlador de PHP, que constituye el núcleo del sistema de búsqueda de clientes por placa en tu Sistema de Parqueo. 🚀 El objetivo es buscar la placa en la tabla clientes y determinar si el vehículo ya está registrado.

En esta Lección Estratégica Aprenderás a:

  • Conectar y Preparar la Consulta de Búsqueda ⚙️
    • En el archivo del controlador de búsqueda (clientes/controller_buscar_cliente.php), incluirás el archivo de configuración (config.php) para establecer la conexión a la base de datos [01:12].
    • Creación de la Consulta SQL: Escribirás la sentencia SQL SELECT para buscar el cliente:

      SQL

      SELECT * FROM clientes WHERE estado = 1 AND placa_auto = :placa_auto

      Esta consulta busca todos los campos del cliente activo (estado = 1) cuya placa coincida con la variable $placa recibida del formulario [02:18].

  • Ejecutar la Consulta y Recorrer Resultados 📄
    • Utilizarás la conexión PDO para preparar y ejecutar la consulta, pasando la placa como parámetro para prevenir inyecciones SQL [03:19].
    • Inicializarás las variables de respuesta ($nombre_cliente, $ci_cliente, etc.) en vacío [05:40] para evitar errores si no se encuentran resultados.
    • Implementarás un bucle foreach [04:36] para recorrer los resultados devueltos. Si se encuentra un registro (el cliente existe), almacenarás los valores de nombre y CI/NIT en las variables de PHP correspondientes [03:40].
  • Implementar la Lógica Condicional de Respuesta 💬
    • Utilizarás una estructura if/else para determinar la respuesta que debe enviar el controlador de vuelta al frontend (vía AJAX):
      • Cliente Nuevo (No Encontrado): Si la variable $nombre_cliente sigue estando vacía después de la consulta (es decir, el bucle foreach no se ejecutó), el controlador imprimirá un mensaje indicando que "El cliente es nuevo" [09:05]. En este caso, el operador deberá ingresar los datos del cliente manualmente.
      • Cliente Existente (Encontrado): Si la variable $nombre_cliente contiene un valor, significa que el cliente existe. El controlador imprimirá un mensaje concatenando los datos encontrados (ej. "Nombre del cliente: [Nombre] - CI/NIT: [CI/NIT]") [11:15].
  • Solución de Error de Tipografía (Troubleshooting) 🐞
    • El instructor corrige un error común de tipografía en el nombre de la columna de la base de datos (id_cliente en lugar de idcliente) para que la consulta se ejecute correctamente [10:26].

Al finalizar esta lección, habrás implementado la funcionalidad esencial del buscador. El sistema ahora puede tomar la placa, consultar la base de datos y responder si el cliente ya está registrado o si es un cliente nuevo. El siguiente paso será tomar estos datos encontrados y rellenar automáticamente los campos del formulario. ¡Tu sistema ya puede verificar la existencia de clientes por placa! 💪