Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter la fonction de recherche sur le site Web

Comment utiliser PHP pour implémenter la fonction de recherche sur le site Web

WBOY
WBOYoriginal
2023-06-23 11:07:263908parcourir

Avec la popularité et le développement d'Internet, les sites Web sont devenus l'un des canaux importants permettant aux gens d'obtenir des informations et des services. La fonction de recherche sur le site Web est l'un des outils importants permettant aux utilisateurs d'obtenir rapidement les informations dont ils ont besoin. Cet article donne une brève description de la façon d'utiliser PHP pour implémenter la fonction de recherche sur le site Web.

1. Principes de base de la fonction de recherche

Pour mettre en œuvre la fonction de recherche sur le site Web, les 4 étapes de base suivantes doivent être complétées :

1 L'utilisateur saisit les mots-clés à rechercher
2. sur la base des mots-clés ;
3. Le site Web extrait les données qui répondent aux conditions de recherche ;
4.

2. Méthodes techniques pour implémenter la fonction de recherche

1. Le moyen technique le plus important pour implémenter la fonction de recherche est d'utiliser le langage SQL pour interroger la base de données. En PHP, utilisez des extensions de base de données telles que mysqli ou PDO pour vous connecter à la base de données pour les opérations de requête. Pour les services de moteurs de recherche professionnels, vous pouvez également utiliser des services de moteurs de recherche tels que sphinx et Lucene.

2. Lors de la mise en œuvre de la fonction de recherche, vous devez faire attention aux problèmes techniques suivants :

(1) Empêcher l'injection SQL. Les mots-clés de recherche saisis par les utilisateurs doivent être filtrés et vérifiés pour empêcher l'injection de données malveillantes.

(2) Efficacité de la fonction de recherche. Pour les grands sites Web, la fonction de recherche interrogera une grande quantité de données dans la base de données et la fonction de recherche doit être optimisée, par exemple en utilisant des index.

(3) Présentation des résultats de recherche. Les résultats de recherche sur le site Web doivent être classés, triés ou paginés en fonction des besoins de recherche de l'utilisateur.

3. Combat pratique : PHP implémente la fonction de recherche sur le site Web

  1. Configuration de la base de données

Avant d'implémenter la fonction de recherche, vous devez d'abord configurer la base de données backend. Supposons que notre base de données s'appelle "mydb" et que la table soit nommée "news", qui stocke les champs de titre et de contenu des informations d'actualité. Nous pouvons utiliser l'instruction suivante pour créer une table :

CREATE TABLE IF NOT EXISTS news (news (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL,
content text NOT NULL,
PRIMARY KEY (id id int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) NON NULL,

content texte NON NULL,
    CLÉ PRIMAIRE (id)
  1. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Implémentation de l'interface de recherche

Nous devons créer une interface pour la fonction de recherche, où les utilisateurs peuvent saisir des mots-clés dans le champ de recherche. Entrez des mots-clés dans la zone de recherche, cliquez sur le bouton Soumettre ou appuyez sur la touche Entrée pour accéder à la page search.php pour le traitement.


Le code est le suivant :





Search
< /head>

Recherche




                                                                                                                                                  . Interrogez la base de données pour implémenter la fonction de recherche

Dans search.php, nous obtiendrons les données qui répondent aux conditions de recherche de la base de données et les présenterons. Nous devons utiliser l'extension mysqli de PHP pour nous connecter à la base de données. Le code est le suivant :

$q = $_GET['q']; //Obtenir les mots-clés de recherche

if ($q == '') {
echo "Veuillez saisir des mots-clés pour rechercher" ;
exit;
}
$con = mysqli_connect('localhost', 'root', '', 'mydb'); //Se connecter à la base de données
if (!$con) {
die("Impossible de se connecter au base de données :" . mysqli_error( $con));
}
mysqli_select_db($con, "mydb");//Sélectionner la base de données
mysqli_query($con, "set names 'utf8'");
$sql = "select * à partir de nouvelles où le titre comme ' %" . $q . "%' ou le contenu comme '%" . $q . "%' ordre par identifiant desc";
$result = mysqli_query($con, $sql);
if ( !$result) {
printf("Error: %s
", mysqli_error($con));
exit();
}
while ($row = mysqli_fetch_array($result)) {//Boucle pour obtenir des données qualifiées et présentez-le
echo '

' $row['title'] '

;';
}
mysqli_close($con); //Fermer la connexion à la base de données
?>

Le code ci-dessus se connecte à la base de données via l'extension mysqli et interroge les données qui répondent aux conditions de recherche de la base de données. Il comprend les étapes suivantes :

(1) Filtrez et vérifiez les mots-clés saisis par l'utilisateur pour empêcher l'injection SQL ;

(2) Utilisez mysqli_connect() pour vous connecter à la base de données mydb sur localhost ; provoquer une erreur de connexion.

(3) Sélectionnez la base de données mydb et définissez l'encodage de la base de données sur « utf8 ».

(4) Utilisez les instructions de requête SQL pour interroger les données qualifiées dans la table news et utilisez $order_rows pour trier par ordre décroissant.

(5) Boucle pour obtenir les données des résultats de la requête et présenter le titre et le contenu sur la page Web.

(6) Fermez la connexion à la base de données.

4.Résumé

Cet article présente comment utiliser PHP pour implémenter la fonction de recherche sur le site Web, y compris les principes de base, les méthodes techniques et les exercices pratiques pour implémenter la recherche. Dans la démonstration de cet article, nous utilisons mysqli pour interroger la base de données, filtrer et vérifier les mots-clés de recherche, et éviter les risques de sécurité de l'injection SQL. En étudiant cet article, vous pourrez également mener des recherches plus approfondies sur d’autres moyens techniques des moteurs 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