Maison > développement back-end > Problème PHP > Comment implémenter la recherche par mot clé pour les données MySQL en php

Comment implémenter la recherche par mot clé pour les données MySQL en php

PHPz
Libérer: 2023-04-19 09:31:47
original
972 Les gens l'ont consulté

Avec le développement d'Internet, les moteurs de recherche sont devenus l'un des principaux moyens permettant aux internautes d'obtenir des informations. Dans le développement de sites Web, la mise en œuvre de fonctions de recherche par mots clés est progressivement devenue une nécessité. Cet article présentera comment utiliser le langage PHP pour implémenter la fonction de recherche par mot-clé pour les données MySQL.

1. Préparation

Avant de commencer à écrire du code, nous devons faire quelques préparatifs. Tout d’abord, nous devons nous assurer que nous disposons déjà d’une base de données MySQL contenant des données.

Ensuite, créez une table de données de test dans la base de données mysql. Nous pouvons utiliser l'instruction SQL suivante pour créer une table de données nommée "test" :

CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,id int(11) NOT NULL AUTO_INCREMENT,
 title varchar(255) NOT NULL,
 content text NOT NULL,
 PRIMARY KEY (id title varchar (255) NON NULL,
content texte NON NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

this Ces données La table contient trois champs : identifiant, titre et contenu. Parmi eux, le champ id est un champ à incrémentation automatique et est utilisé pour identifier de manière unique chaque élément de données. Le champ titre représente le titre des données et le champ contenu représente le contenu des données.

2. Implémenter la fonction de recherche

De manière générale, la fonction de recherche par mot-clé peut comprendre deux étapes : la saisie des mots-clés et l'interrogation des données. En php, nous pouvons implémenter la fonction de recherche en récupérant les mots-clés saisis par l'utilisateur et en les faisant correspondre aux données de la base de données.

1. Récupérer les mots-clés saisis par l'utilisateur

Tout d'abord, nous devons ajouter un formulaire contenant une zone de saisie et un bouton de soumission à la page pour recevoir les mots-clés saisis par l'utilisateur. Le code est le suivant :


Ce formulaire contient une zone de texte et un bouton d'envoi. Lorsque l'utilisateur clique sur le bouton Soumettre, le formulaire soumettra les mots-clés saisis par l'utilisateur à un fichier PHP nommé "search.php" pour traitement.

Dans le fichier nommé "search.php", nous devons d'abord récupérer les mots-clés saisis par l'utilisateur. Le code est le suivant :

$keyword = $_GET['keyword'];

Ce code utilise la variable $_GET intégrée à PHP pour obtenir les données soumises au fichier "search.php" en mode GET. Dans cet exemple, le mot-clé saisi par l'utilisateur est stocké dans la variable $keyword.

2. Interroger les données

Après avoir obtenu le mot-clé saisi par l'utilisateur, nous devons interroger les données contenant le mot-clé dans la base de données MySQL. Le code est le suivant :

// Connectez-vous à la base de données
$servername = "localhost";
$username = "username";
$password = "password"; new mysqli($servername , $username, $password, $dbname);
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}

// Données de requête
$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query($sql);

// Résultat de sortie
if ( $result->num_rows > 0) {
while($row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Copier après la connexion
Copier après la connexion

}
} else {
echo "Aucune donnée pertinente trouvée";
}

ici Dans ce code, nous nous sommes d'abord connectés à la base de données mysql et avons utilisé la classe mysqli intégrée de PHP pour exécuter des instructions de requête SQL. L'instruction SQL utilise l'opérateur LIKE pour faire correspondre les données contenant $keyword dans les champs de titre et de contenu.

Ensuite, nous avons utilisé la méthode query() intégrée de PHP pour exécuter l'instruction SQL ci-dessus et enregistrer le résultat dans la variable $result. Si les données sont interrogées, utilisez une boucle while pour afficher tour à tour chaque élément de données interrogées sur la page.

Si aucune donnée pertinente n'est trouvée, le message d'invite « Aucune donnée pertinente trouvée » sera affiché.

3. Code complet

En combinant les codes des deux étapes précédentes, la fonction de recherche peut être complètement implémentée. Le code php complet est le suivant :

$keyword = $_GET['keyword'];

$servername = "localhost";
$username = "username";
$password = "password" ;
$dbname = "dbname";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn ->connect_error);
}

$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query ($ sql);

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
Copier après la connexion
Copier après la connexion

}
} else {
echo "Aucune donnée pertinente trouvé" ;
}

$conn->close();
?>

4. Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser le langage PHP pour implémenter la fonction de recherche par mot clé des données MySQL. Dans le processus de mise en œuvre de cette fonction, nous devons maîtriser comment obtenir les données d'entrée de l'utilisateur, comment se connecter à la base de données, comment exécuter des instructions de requête SQL et afficher les données interrogées sur la page.

Dans le développement réel de sites Web, la mise en œuvre des fonctions de recherche est souvent plus compliquée. Nous devons utiliser de manière globale plusieurs langages et technologies tels que php, mysql, javascript, etc. pour accomplir cette tâche. Cependant, après avoir maîtrisé les méthodes de base de mise en œuvre de la fonction de recherche, nous pouvons mieux comprendre et participer à un développement de sites Web plus complexes.

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