ウェブサイトのコンテンツが増加し続けるにつれて、サイト検索機能は最新のCMSシステムの不可欠な部分になりました。検索機能を通じて、ユーザーは必要な情報をすばやく見つけて、ウェブサイトのエクスペリエンスを向上させることができます。この記事では、ゼロから開始され、完全なコードの例を使用して、PHPを使用してシンプルで実用的な内部検索機能を実装する方法を紹介します。
まず、ウェブサイトの記事を保存するためのデータベーステーブルを作成します。テーブル名が記事であり、 ID 、タイトル、コンテンツの3つのフィールドが含まれているとします。サンプルテーブルビルディングSQLステートメントは次のとおりです。
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content TEXT
);
簡単な検索フォームをフロントエンドページに追加すると、ユーザーはキーワードを入力し、検索処理ページに送信します。
<form action="search.php" method="GET">
<input type="text" name="keyword" placeholder="キーワードを入力してください">
<input type="submit" value="検索">
</form>
[検索]ボタンをクリックすると、フォームはGETを介してクエリ処理のためにsearch.phpページにキーワードを送信します。
search.phpでは、ユーザーが送信したキーワードを受信し、タイトルまたはコンテンツのデータベース内のキーワードを含むレコードを探します。サンプルコードは次のとおりです。
<?php
// キーワードを取得します
$keyword = $_GET['keyword'] ?? '';
// データベースに接続します
$db = new mysqli('localhost', 'username', 'password', 'database_name');
if ($db->connect_error) {
die("データベース接続に失敗しました:" . $db->connect_error);
}
// クエリステートメント,使用LIKE进行模糊検索
$sql = "SELECT * FROM articles WHERE title LIKE '%{$keyword}%' OR content LIKE '%{$keyword}%'";
$result = $db->query($sql);
// 输出検索结果
if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<h3>" . htmlspecialchars($row['title']) . "</h3>";
echo "<p>" . htmlspecialchars($row['content']) . "</p>";
echo "<hr>";
}
} else {
echo "一致する結果は見つかりませんでした。";
}
$db->close();
?>
上記のコードは最初にデータベースに接続し、次にSQLクエリを実行し、ファジーはキーワードを同種のオペレーターを介して一致させ、最後に一致する記事のタイトルとコンテンツをユーザーに表示します。
現在の実装は基本バージョンであり、将来のニーズに応じて検索エクスペリエンスを最適化できます。
この記事では、データベースの設計、フロントエンドフォーム、バックエンド検索実装など、PHPを使用してCMS Webサイトで検索機能を構築する完全なプロセスを紹介します。シンプルなコードの例を通じて、開発者がコンテンツの検索を迅速に実現し、ウェブサイトのユーザーエクスペリエンスを改善するのに役立ちます。これらのコンテンツがプロジェクト開発に役立つことを願っています。