Webサイト開発では、データ検索はユーザーエクスペリエンスを改善するための重要な機能です。優れた検索設計により、ユーザーは情報をすばやく見つけて、ウェブサイトの効率を向上させることができます。この記事では、PHPを使用して、軽量アプリケーションシナリオに適したシンプルで効率的なデータ検索ロジックを実装する方法を詳細に説明します。
最初に、検索するデータセットをシミュレートするアレイを作成します。実際の開発では、このデータはデータベースまたは他のデータソースから生じることがあります。
$data = array(
array("id" => 1, "name" => "チャン・サン", "age" => 25, "city" => "北京"),
array("id" => 2, "name" => "li si", "age" => 30, "city" => "上海"),
array("id" => 3, "name" => "王ウー", "age" => 35, "city" => "広州"),
// より多くのデータ...
);
ユーザーは、フォームからキーワードを入力して検索要求を開始します。これが基本的なHTMLフォームの例です。
<form action="search.php" method="get">
<input type="text" name="keyword" placeholder="キーワードを入力してください..." />
<input type="submit" value="検索" />
</form>
Search.phpファイルで検索キーワードを受信し、データ収集で一致を見つけます。キーワードは、名前、年齢、または都市の畑に応じて一致させることができます。
$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);
Ajax経由でSearch.phpをリクエストすると、ページ全体を更新せずに検索結果をページに非同期にロードできます。
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();
この記事の例を使用して、フロントエンドフォーム、PHP処理ロジック、データフィルタリング、およびAJAX相互作用をカバーする簡単なキーワード検索システムを実装します。このソリューションは、中小規模のプロジェクトの迅速な展開に適しており、データベース検索、ページングディスプレイ、その他の機能のその後の拡張の基盤も提供します。