Dans le développement de sites Web, la recherche de données est une fonction importante pour améliorer l'expérience utilisateur. Grâce à une bonne conception de recherche, les utilisateurs peuvent rapidement localiser les informations et améliorer l'efficacité du site Web. Cet article expliquera en détail comment utiliser PHP pour implémenter la logique de recherche de données simple et efficace, qui convient aux scénarios d'application légers.
Nous créons d'abord un tableau pour simuler l'ensemble de données à rechercher. Dans le développement réel, ces données peuvent provenir d'une base de données ou d'une autre source de données.
$data = array(
array("id" => 1, "name" => "Zhang San", "age" => 25, "city" => "Pékin"),
array("id" => 2, "name" => "Li si", "age" => 30, "city" => "Shanghai"),
array("id" => 3, "name" => "Wang wu", "age" => 35, "city" => "Guangzhou"),
// Plus de données...
);
L'utilisateur initie une demande de recherche en entrant les mots clés via le formulaire. Voici un exemple de formulaire HTML de base:
<form action="search.php" method="get">
<input type="text" name="keyword" placeholder="Veuillez saisir les mots clés..." />
<input type="submit" value="recherche" />
</form>
Recevez des mots clés de recherche dans le fichier search.php et recherchez des correspondances dans la collecte de données. Les mots clés peuvent être égalés en fonction du nom, de l'âge ou des champs de la ville:
$keyword = $_GET['keyword'];
if ($keyword === "") {
echo json_encode($data);
exit;
}
$results = array();
foreach ($data as $item) {
if (strpos($item['name'], $keyword) !== false ||
strpos((string)$item['age'], $keyword) !== false ||
strpos($item['city'], $keyword) !== false) {
$results[] = $item;
}
}
echo json_encode($results);
Request Search.php via AJAX, les résultats de recherche peuvent être chargés de manière asynchrone dans la page sans rafraîchir la page entière.
var keyword = document.getElementById("keyword").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var results = JSON.parse(xhr.responseText);
var resultContainer = document.getElementById("result-container");
resultContainer.innerHTML = "";
for (var i = 0; i < results.length; i++) {
var item = document.createElement("div");
item.innerHTML = results[i].name + "," + results[i].age + "," + results[i].city;
resultContainer.appendChild(item);
}
}
};
xhr.open("GET", "search.php?keyword=" + keyword, true);
xhr.send();
Grâce aux exemples de cet article, nous implémentons un système de recherche de mots clés simples couvrant les formulaires frontaux, la logique de traitement PHP, le filtrage des données et l'interaction AJAX. Cette solution convient au déploiement rapide de projets de petite et moyenne taille, et fournit également une base pour l'expansion ultérieure de la recherche de bases de données, de l'affichage de la pagination et d'autres fonctions.