Maison  >  Article  >  développement back-end  >  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
PHPzoriginal
2023-04-10 09:41:251293parcourir

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>

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);
?>

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!

Déclaration:
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