ウェブサイトのコンテンツの継続的な成長に伴い、ユーザーに高速で便利な情報検索機能を提供することが特に重要です。現場での検索機能は、ウェブサイトのユーザビリティとユーザーエクスペリエンスを大幅に改善できます。この記事では、PHPを使用して基本的な敷地内検索機能を実装する方法について説明します。
まず、ユーザーが検索キーワードを入力するには、フロントエンドページに検索フォームを追加する必要があります。
<form method="GET" action="search.php">
<input type="text" name="keyword" placeholder="キーワードを入力してください">
<input type="submit" value="検索">
</form>
このフォームは、GETモードでデータを送信し、処理ページのパラメーターとしてユーザーが入力したキーワードを渡します。
search.phpでは、最初にユーザーのキーワード入力を受け取ります。
<?php
$keyword = $_GET['keyword'];
// データベースに接続し、一致するデータをクエリします
// ...
?>
$ _GETでユーザーが入力したキーワードを取得した後、これらのキーワードを使用してデータベースをクエリします。
PDOを使用してデータベースに接続し、ファジーマッチングクエリを実行するためのサンプルコードを次に示します。
<?php
$keyword = $_GET['keyword'];
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
try {
$db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
} catch (PDOException $e) {
die("データベース接続に失敗しました:" . $e->getMessage());
}
// クエリステートメント
$query = "SELECT * FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $db->query($query);
$articles = $result->fetchAll(PDO::FETCH_ASSOC);
?>
ここでは、類似のステートメントを使用して、記事のタイトルとコンテンツをファジークエリして、キーワードマッチングを実現します。
検索された記事データは、ループを介してページに表示されます。
<?php
foreach ($articles as $article) {
echo '<h3>' . $article['title'] . '</h3>';
echo '<p>' . $article['content'] . '</p>';
}
?>
このようにして、ユーザーはキーワードを送信した後、キーワードを含むすべての記事を見ることができます。
上記のコードは基本的な検索関数を実装できますが、実際のプロジェクトでは、次のことも必要になる場合があります。
検索機能を合理的に最適化すると、ユーザーの満足度が向上するだけでなく、アクセス変換率が高くなります。
この記事では、PHPを使用して、フォームの提出、キーワード処理、データベース接続とクエリ、結果表示など、オンサイト検索を実装する基本的なプロセスを紹介します。例は比較的基本的なものですが、初心者向けの優れた紹介基盤です。あなた自身のプロジェクトのニーズに応じて、より高度な機能と最適化方法を徐々に導入できます。