79 FUNCIÓN BUSCAR PELÍCULAS en mi PÁGINA WEB con (LARAVEL y MYSQL) FULLSTACK

Duración: 9 min
Módulo: 🎬 Módulo de Vistas Públicas y Funcionalidades Core Lección 15 de 16

Descripción

🔎  Lección 79: Función Buscar Películas

Esta lección avanzada se enfoca en hacer funcional el campo de búsqueda ya existente en el navbar de Bootstrap, permitiendo a los usuarios encontrar películas por su título.

1. 📝 Configuración del Formulario de Búsqueda (Frontend) [00:19]

Se modifica el elemento <form> en la vista index.blade.php para que envíe los datos correctamente.

  • Método y Acción: El formulario se configura para usar el método GET y se establece la acción para que apunte a la ruta /buscar [00:42].
  • Nombre del Input: Se asigna un atributo name="texto" al campo de texto, que es el identificador que Laravel usará para capturar el término de búsqueda [01:10].
  • Lógica de Envío: Al enviar el formulario, la URL del navegador refleja la ruta y el término de búsqueda, por ejemplo: .../buscar?texto=frio [01:31].

2. 🛣️ Definición de Ruta y Función de Búsqueda (Backend) [02:17]

Se crea la ruta y la función del controlador para procesar el término de búsqueda.

  • Habilitación de la Ruta: En routes/web.php, se define una nueva ruta GET para /buscar, asociándola a la función buscarPelicula dentro del PeliculasController [02:24].
  • Creación de la Función: Se define la función buscarPelicula en el controlador [03:05].
    • Esta función recibe la variable $texto de la URL a través del método GET [03:17].

3. 🧠 Consulta LIKE en la Base de Datos [03:54]

La lógica central utiliza una consulta flexible para encontrar coincidencias parciales en los títulos.

  • Consulta WHERE LIKE: Se utiliza el método where de Laravel junto con la condición SQL LIKE para buscar coincidencias [04:09].
  • Campo de Búsqueda: La consulta se dirige al campo titulo_p de la tabla de películas [04:23].
  • Comodines: Se añaden los caracteres % (comodines) al inicio y al final del texto de búsqueda (%'.$texto.'%') [04:50]. Esto asegura que la búsqueda sea flexible y encuentre el texto incluso si es solo una parte del título de la película (ej., buscar "spa" encuentra "Space Jam") [06:31].
  • Retorno de Datos: Los resultados ($datos) se pasan a la nueva vista buscar.blade.php [05:33].

4. 🗄️ Despliegue de Resultados [07:11]

Se implementa la vista que muestra los resultados de la búsqueda.

  • Nueva Vista: Se crea el archivo buscar.blade.php [02:03].
  • Bucle @foreach: Se utiliza un bucle para iterar sobre la variable $datos que contiene las películas encontradas [07:23].
  • Verificación: Una prueba simple muestra los IDs de las películas encontradas, confirmando que la lógica de la consulta LIKE es exitosa [08:14].

Próximo paso: Se menciona que el siguiente paso será trabajar en el diseño (frontend) de la vista buscar.blade.php para mostrar los resultados de una manera más agradable [09:02].