buscador php
Php,  Programación Web,  Tecnologias

Buscador de palabras en PHP (versión moderna, segura y optimizada)

Crear un buscador interno sigue siendo una de las funciones más útiles en cualquier sitio web con artículos, productos o documentos. Sin embargo, muchos ejemplos que circulan en internet todavía usan código obsoleto o inseguro.
Esta versión actualizada te muestra cómo implementar un buscador simple, seguro y eficiente usando PDO, consultas preparadas y buenas prácticas actuales.

Formulario HTML para enviar la búsqueda

<form action="buscar.php" method="GET">
    <input type="text" name="palabra" placeholder="Buscar..." required>
    <button type="submit">Buscar</button>
</form>

Puntos clave:

  • method="GET" permite compartir o guardar la URL con la búsqueda.
  • required evita envíos vacíos.
  • El placeholder guía al usuario.

Conexión segura con PDO

<?php
$dsn = "mysql:host=localhost;dbname=nombre_BBDD;charset=utf8mb4";
$usuario = "usuario";
$contrasena = "contraseña";

try {
    $pdo = new PDO($dsn, $usuario, $contrasena, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ]);
} catch (PDOException $e) {
    die("Error de conexión: " . $e->getMessage());
}
?>

Ventajas:

  • Manejo de errores profesional
  • Compatibilidad con PHP 8+
  • Seguridad mejorada

Consulta preparada para evitar inyección SQL

<?php
$palabra = $_GET['palabra'] ?? '';

$sql = "SELECT * FROM documentos WHERE documento LIKE :busqueda";
$stmt = $pdo->prepare($sql);
$stmt->execute(['busqueda' => "%$palabra%"]);

$resultados = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

Por qué funciona:

  • :busqueda evita inyecciones SQL
  • LIKE permite coincidencias parciales
  • fetchAll facilita recorrer resultados

Mostrar los resultados de forma limpia

<?php if ($resultados): ?>
    <h2>Resultados para: "<?php echo htmlspecialchars($palabra); ?>"</h2>

    <ul>
        <?php foreach ($resultados as $fila): ?>
            <li><?php echo htmlspecialchars($fila['documento']); ?></li>
        <?php endforeach; ?>
    </ul>

<?php else: ?>
    <p>No se encontraron coincidencias.</p>
<?php endif; ?>

Buenas prácticas aplicadas:

Mejoras recomendadas para un buscador más potente

  • Búsqueda por múltiples columnas
    Ej.: título, descripción, etiquetas.
  • Paginación
    Evita cargar cientos de resultados de golpe.
  • Índices FULLTEXT
    Mucho más rápido en tablas grandes.
  • Resaltado de coincidencias
    Marca la palabra encontrada dentro del texto.
  • Historial de búsquedas populares
    Útil para UX y SEO interno.
  • Normalización de texto
    Quitar acentos para mejorar coincidencias.
  • Límites de resultados
    Evita sobrecargar el servidor.

Por qué este enfoque sigue siendo útil hoy

Un buscador interno bien implementado no solo mejora la experiencia del usuario: también ayuda a que los visitantes encuentren contenido que de otra forma quedaría enterrado.
Con PDO, consultas preparadas y una estructura clara, este buscador es seguro, escalable y compatible con cualquier proyecto moderno en PHP.

Compartir en redes sociales

Resumir con tu IA faborita

Los códigos en gadgets y wearables permiten personalizar funciones, optimizar el rendimiento y mejorar la experiencia del usuario, integrando tecnología avanzada en dispositivos prácticos para monitorear salud, actividad física y facilitar tareas diarias.

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *