58 De MySQL a JSON para cargar en FULLCALENDAR en el SISTEMA VETERINARIO (PHP y MySql) FullStack
Duración: 10 minDescripción
🎬 Lección 58: De MySQL a JSON para Cargar en FullCalendar 🔄
El objetivo principal de esta lección es crear un controlador PHP que actúe como una API simple, extrayendo los datos de la tabla reservas y transformándolos en el formato JSON requerido por FullCalendar.
1. Creación del Controlador de Carga
Se crea un nuevo controlador dedicado a la obtención de los datos de reserva:
- Ruta: Se crea el archivo cargar_reservas.php dentro del nuevo directorio app/controllers/reservas/. [01:13]
- Conexión: Se incluye el archivo de conexión a la base de datos (config.php). [01:35]
2. Consulta y Obtención de Datos
Se utiliza PHP con PDO para consultar la base de datos:
- Consulta SQL: Se realiza una consulta SELECT que selecciona exclusivamente los campos necesarios para FullCalendar: color, title, start y end de la tabla reservas. [02:32]
- Ejecución: La consulta se prepara y ejecuta.
- Recuperación de Resultados: Se utiliza fetchAll(PDO::FETCH_ASSOC) para obtener todos los resultados en un array asociativo de PHP. [04:21]
3. Conversión de Array a JSON
Este es el paso crucial para la integración con JavaScript:
- Función Clave: Se utiliza la función nativa de PHP json_encode($resultado). Esta función transforma el array asociativo de PHP en una cadena de texto JSON con la estructura de corchetes y llaves esperada por FullCalendar. [06:05]
- Salida: Se utiliza echo para imprimir la cadena JSON resultante, lo que permite que el archivo PHP actúe como un endpoint de datos. [05:59]
4. Vinculación del Calendario
Finalmente, se enlaza la vista del calendario al nuevo controlador dinámico:
- FullCalendar Script: En el archivo reservar.php, la propiedad events del script de inicialización de FullCalendar es modificada.
Reemplazo del Evento Estático: El código estático de eventos se reemplaza por la URL del nuevo controlador:
JavaScript
events: 'app/controllers/reservas/cargar_reservas.php'
- Resultado: El calendario ahora hace una petición al controlador PHP, recibe la cadena JSON y muestra dinámicamente todas las citas registradas en la base de datos, con sus respectivos colores y fechas. [09:09]
El sistema queda listo, con la información fluyendo de MySQL, a través de PHP (como JSON), hasta la interfaz gráfica del calendario.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️