


Comment implémenter des enregistrements de recherche en php
Avec le développement d'Internet, les moteurs de recherche sont devenus l'un des canaux importants permettant aux gens d'obtenir des informations. De nombreux sites Web sont également équipés de leurs propres fonctions de recherche pour aider les utilisateurs à trouver rapidement le contenu dont ils ont besoin. PHP, en tant que langage de programmation couramment utilisé, peut également implémenter des fonctions d'enregistrement de recherche pour offrir aux utilisateurs une meilleure expérience utilisateur. Cet article explique comment implémenter les enregistrements de recherche PHP.
1. Conception de la base de données
La première chose à considérer est la conception de la base de données. Dans cet article, MySQL est utilisé comme exemple.
1.1 Conception de table
Vous devez créer une table pour stocker les enregistrements recherchés par l'utilisateur, comprenant les champs suivants :
- id : identifiant unique de l'enregistrement, incrémenté automatiquement
- keyword : mots-clés recherchés par l'utilisateur
- search_time : user L'heure de recherche, au format datetime
- user_id : l'identifiant unique de l'utilisateur, peut être vide
La structure de la table est la suivante :
CREATE TABLE search_history
(
id
int(11) NOT NULL AUTO_INCREMENT,
keyword
varchar(255) NOT NULL DEFAULT '',
search_time
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
user_id
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1.2 Description du champ
Dans le tableau ci-dessus, vous devez faire attention aux points suivants :
- id est la clé primaire, automatiquement incrémentée et utilisée pour identifier de manière unique un enregistrement.
- mot-clé est le mot-clé recherché par l'utilisateur et ne doit pas être vide.
- search_time est l'heure à laquelle la recherche a lieu, le format est de type datetime et la valeur par défaut est définie sur l'heure actuelle pour un enregistrement facile.
- user_id est l'identifiant unique de l'utilisateur, ce qui peut faciliter les statistiques et l'analyse du comportement de l'utilisateur dans certains scénarios, mais ce n'est pas un champ obligatoire, il peut donc être vide.
2. Enregistrer l'historique de recherche
Dans la page, la fonction de recherche de l'utilisateur peut être implémentée via un formulaire, et en fonction du contenu de la recherche, elle est enregistrée dans la table search_history mentionnée ci-dessus. Le code spécifique est le suivant :
2.1 Connectez-vous à la base de données
Vous devez d'abord vous connecter à la base de données afin que les résultats de la recherche puissent être stockés dans la base de données.
$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
mysqli_set_charset($conn,"utf8mb4");
2.2 Gérer les requêtes de recherche
Obtenez ce que l'utilisateur a saisi dans le champ de recherche, par exemple :
$keyword = $_REQUEST['keyword'];
Si l'utilisateur n'a rien saisi, vous n'avez pas besoin de l'enregistrer; à la base de données.
if (empty ($keyword)) {
return;
}
2.3 Enregistrez les résultats de la recherche dans la base de données
Ensuite, enregistrez les résultats de la recherche dans la table search_history ci-dessus pour enregistrer l'historique de recherche de l'utilisateur.
$sql = "INSERT INTO search_history (keyword, user_id) VALUES ($keyword', 1)";
mysqli_query($conn, $sql);
Dans le code ci-dessus, le mot-clé de recherche et le nom unique de l'utilisateur L'identifiant (provisoirement 1) est enregistré dans les champs mot-clé et user_id de la table search_history.
3. Afficher l'historique de recherche
Si vous devez afficher l'historique de recherche sur le site Web, vous pouvez l'obtenir en interrogeant la table search_history dans la base de données. Ci-dessous, nous présenterons comment implémenter cette fonction via PHP.
3.1 Interroger la base de données
$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
mysqli_set_charset($conn,"utf8mb4 " );
$sql = "SELECT * FROM search_history ORDER BY search_time DESC LIMIT 10";
$result = mysqli_query($conn, $sql);
Le code ci-dessus se connecte d'abord à la base de données et interroge tous les enregistrements du table search_history. Triez par ordre chronologique inverse et obtenez les 10 enregistrements les plus récents.
3.2 Obtenir des enregistrements historiques
Ensuite, parcourez les enregistrements obtenus et affichez-les sur la page.
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) { echo $row["keyword"]; }
} else {
echo "暂无搜索历史记录";
}
Le code ci-dessus détermine d'abord si le résultat de la requête est vide. S'il n'est pas vide, il parcourt la clé de. chaque enregistrement. Les mots sont affichés sur la page, et si elle est vide, un message d'invite est affiché.
4. Supprimer l'historique de recherche
Si l'utilisateur doit supprimer un historique de recherche, il peut effacer les enregistrements qui doivent être supprimés de la base de données en ajoutant un bouton "Supprimer" sur la page.
4.1 Connexion à la base de données
L'opération est la même que ci-dessus et ne sera pas répétée ici.
$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
mysqli_set_charset($conn,"utf8mb4");
4.2 Gérer la demande de suppression
Obtenez l'identifiant de l'enregistrement dont l'utilisateur a besoin pour le supprimer et le supprimer de la base de données.
$id = $_REQUEST['id'];
if (!empty($id)) {
$sql = "DELETE FROM search_history WHERE id='$id'"; mysqli_query($conn, $sql);
}
Si l'identifiant est vide, aucune action n'est requise.
5.Résumé
Grâce à l'introduction ci-dessus, nous pouvons constater que la mise en œuvre des enregistrements de recherche PHP doit principalement s'articuler autour de la conception de la base de données. En définissant les champs correspondants dans le tableau, les résultats de la recherche et la durée d'enregistrement sont stockés dans la base de données pour faciliter l'interrogation. et affichage. Bien entendu, vous devez faire attention aux problèmes de sécurité et éviter les injections SQL et autres attaques. Dans le même temps, si vous avez besoin de mettre en œuvre la fonction d'enregistrement de recherche de manière plus flexible, vous pouvez également utiliser d'autres technologies, telles que les cookies, les sessions, etc.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main
