73 INCORPORAR AJAX para verificar horarios en FULLCALENDAR en SISTEMA (PHP y MySql) FullStack

Duración: 9 min
Módulo: 🔄 Lógica de Registro, Login y Reservas (Back-End Avanzado) Lección 10 de 12

Descripción

🎬 Lección 73: Incorporar AJAX para Verificar Horarios (PHP y MySQL) 🚀

El objetivo de esta lección es impedir que los clientes puedan reservar un horario que ya está ocupado, lo cual actualmente es posible y genera conflictos.

1. Implementación de la Lógica con AJAX

  • Identificación del Problema: El sistema necesita validar si la fecha y hora seleccionada ya existe en la base de datos antes de permitir la reserva. Si está ocupado, el botón de ese horario debe deshabilitarse o cambiar de color. [01:19]
  • Punto de Inserción: La lógica de validación se añade dentro del evento dateClick de FullCalendar, que es el que se activa al hacer clic en una celda del calendario y muestra el modal de reserva. [02:07]
  • Uso de $.get(): Se establece una conexión AJAX utilizando el método $.get() de jQuery para realizar una consulta asíncrona al servidor sin recargar la página. [04:54]

2. Comunicación Cliente-Servidor

Se define la estructura para enviar la información y recibir la respuesta de la disponibilidad:

  • Envío de Datos (JavaScript/Cliente):
    • Se rescata la fecha seleccionada del objeto de FullCalendar (info.date). [03:07]
    • Esta fecha se envía a un nuevo controlador en el servidor.
  • Controlador de Verificación (PHP/Servidor):
    • Se crea un nuevo archivo en el backend llamado reservas/verificar_horario.php. [04:30]
    • Este archivo recibe la fecha a través del método $_GET. [06:46]

3. Verificación de Conexión

El instructor verifica que la conexión AJAX funcione correctamente:

  • Se demuestra que el JavaScript envía la fecha y el PHP la recibe. [07:59]
  • La respuesta del controlador (la fecha recibida) es devuelta al frontend y mostrada en una alerta de JavaScript, confirmando que la comunicación entre ambos lenguajes es exitosa. [08:16]

El siguiente video se enfocará en escribir la consulta SQL dentro de verificar_horario.php para comparar la fecha recibida con las reservas existentes y generar una respuesta que el frontend pueda usar para deshabilitar los botones.