Maison > développement back-end > Problème PHP > Comment implémenter la fonction de requête de recherche en php

Comment implémenter la fonction de requête de recherche en php

PHPz
Libérer: 2023-04-10 14:00:56
original
1339 Les gens l'ont consulté

Avec le développement d'Internet, les recherches en ligne sont devenues de plus en plus courantes. Qu’il s’agisse d’un site de commerce électronique ou d’un site de blog, la fonctionnalité de recherche est cruciale. En PHP, il n'est pas difficile d'implémenter une fonction de requête de recherche. Cet article explique comment utiliser PHP pour écrire une fonction de requête de recherche.

  1. Paramètres de la base de données

Avant d'utiliser PHP pour implémenter des requêtes de recherche, vous devez d'abord configurer la base de données. Vous devez d’abord créer une base de données et y ajouter des tables de données. Le tableau de données doit contenir les champs de données à rechercher, tels que le titre de l'article, le contenu, l'auteur, etc.

  1. Rédiger un formulaire de requête de recherche

Créez un formulaire de requête de recherche en HTML comme indiqué ci-dessous :

<form action="search.php" method="get">
  <input type="text" name="search">
  <button type="submit">搜索</button>
</form>
Copier après la connexion

Ce code contient une zone de texte et un bouton d'envoi, l'utilisateur peut saisir le mot-clé pour rechercher et soumettre le formulaire.

  1. Écriture d'un script de requête de recherche

Nous devons maintenant écrire un script PHP pour traiter les mots-clés de recherche saisis par l'utilisateur et obtenir les résultats correspondants de la base de données. Voici un simple script de requête de recherche :

<?php
// 连接数据库
$dbhost = &#39;localhost&#39;;
$dbuser = &#39;root&#39;;
$dbpass = &#39;&#39;;
$dbname = &#39;myDB&#39;;
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

// 处理用户输入的搜索关键字
$search = mysqli_real_escape_string($conn, $_GET[&#39;search&#39;]);

// 从数据库中获取匹配的结果
$sql = "SELECT * FROM articles WHERE title LIKE &#39;%$search%&#39; OR content LIKE &#39;%$search%&#39;";
$result = mysqli_query($conn, $sql);

// 输出结果
while ($row = mysqli_fetch_assoc($result)) {
  echo $row[&#39;title&#39;] . &#39;<br>';
  echo $row['content'] . '<br>';
  echo $row['author'] . '<br>';
}

// 关闭连接
mysqli_close($conn);
?>
Copier après la connexion

Ce script se connecte à la base de données et obtient les résultats correspondants de la base de données en fonction des mots-clés de recherche saisis par l'utilisateur. Notez que la fonction mysqli_real_escape_string() est utilisée pour traiter les mots-clés de recherche saisis par l'utilisateur afin d'empêcher les attaques par injection SQL.

  1. Optimiser la fonction de requête de recherche

Le script ci-dessus implémente la fonction de requête de recherche de base, mais il peut être encore optimisé. Voici quelques suggestions d'optimisation :

  • Utilisez la technologie de pagination. S'il y a trop de résultats, l'utilisation de la technologie de pagination pour diviser les résultats en plusieurs pages peut améliorer l'expérience utilisateur.
  • Utilisez la recherche en texte intégral. Dans les grandes bases de données, la recherche de résultats correspondants est plus rapide à l'aide d'un moteur de recherche en texte intégral.
  • Utilisez les suggestions de recherche. Lorsque les utilisateurs saisissent des mots-clés de recherche, le fait de fournir des suggestions de recherche pertinentes peut les aider à trouver plus rapidement ce qu'ils veulent.

Conclusion

Il n'est pas difficile d'implémenter la fonction de requête de recherche à l'aide de PHP, cela ne nécessite que quelques connaissances de base en base de données et des compétences en programmation. L'intégration des suggestions de cet article dans votre code peut améliorer l'efficacité et l'expérience utilisateur de votre fonctionnalité de requête de recherche.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal