90 – SCRIPT PARA HABILITAR Y DESHABILITAR BOTONES en el sistema con BD y GITHUB (👨💻PHP y MYSQL💻)

Duración: 10 min
Módulo: Validación Avanzada y CRUD de Clientes Lección 3 de 8

Descripción

🎓 Lección 90: Script para Habilitar y Deshabilitar Botones (PHP & MySQL)

Esta lección complementa la validación de placas duplicadas (introducida en las lecciones 88 y 89) al deshabilitar automáticamente el botón de registro de ticket cuando se detecta que el vehículo ya está en el parqueo.

⚙️ Lógica para Controlar el Botón

La funcionalidad se implementa dentro del controlador de búsqueda de clientes (clientes/controller_buscar_clientes.php) utilizando código JavaScript/jQuery enviado al frontend:

  1. Deshabilitar el Botón (Placa Duplicada)
    • Si la validación (búsqueda en la tabla tickets con estado 'Ocupado') detecta una placa duplicada, el script no solo muestra la alerta, sino que también inhabilita el botón de registro.
    • Función Utilizada: Se usa el código jQuery .attr('disabled', 'disabled') en el ID del botón (#btn_registrar_ticket) [02:41].
    • Efecto: El operador no puede hacer clic en el botón, lo que previene la creación de un ticket duplicado [03:42].
  2. Habilitar el Botón (Placa Única)
    • Si la validación detecta que no hay un ticket activo para esa placa (es decir, el cliente es nuevo o se corrigió el error de tipografía), el botón debe volver a activarse.
    • Función Utilizada: Se usa el código jQuery .removeAttr('disabled') en el ID del botón [04:48].
    • Efecto: El operador puede proceder a llenar los datos y generar el nuevo ticket [05:39].

📝 Corrección Crítica: Guardar estado_ticket

El video también corrige un error crítico pendiente: el controlador de registro de tickets (controller_registrar_ticket.php) no estaba guardando el nuevo campo estado_ticket en la base de datos, lo que comprometía la validación de duplicidad:

  • Se modifica la sentencia INSERT INTO para incluir el campo estado_ticket y se le asigna el valor fijo de 'Ocupado' cada vez que se genera un nuevo ticket [07:18].

⚠️ Próximo Problema Identificado: Duplicidad de Clientes

Finalmente, el instructor señala un nuevo problema: si un cliente ya ha parqueado antes y sus datos (nombre y NIT/CI) existen en la tabla clientes, el sistema vuelve a insertar el mismo registro en la tabla clientes al generar un ticket.

  • Problema: Esto provoca una duplicidad de registros de clientes, aunque sean el mismo vehículo y persona.
  • Próximo Paso: La siguiente lección se centrará en implementar una validación para evitar que se dupliquen los datos en la tabla clientes si ya existen [09:40].