現在の位置: ホーム> 最新記事一覧> PHPを使用してCMSシステムのサイト検索機能を実装する方法

PHPを使用してCMSシステムのサイト検索機能を実装する方法

M66 2025-06-06

PHPを使用してCMSシステムのサイト検索機能を実装する方法

ウェブサイトのコンテンツが増加し続けるにつれて、サイト検索機能は最新のCMSシステムの不可欠な部分になりました。検索機能を通じて、ユーザーは必要な情報をすばやく見つけて、ウェブサイトのエクスペリエンスを向上させることができます。この記事では、ゼロから開始され、完全なコードの例を使用して、PHPを使用してシンプルで実用的な内部検索機能を実装する方法を紹介します。

1.データベーステーブルを準備します

まず、ウェブサイトの記事を保存するためのデータベーステーブルを作成します。テーブル名が記事であり、 IDタイトルコンテンツの3つのフィールドが含まれているとします。サンプルテーブルビルディングSQLステートメントは次のとおりです。

 CREATE TABLE articles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255),
  content TEXT
);

2。検索フォームを設計します

簡単な検索フォームをフロントエンドページに追加すると、ユーザーはキーワードを入力し、検索処理ページに送信します。

 <form action="search.php" method="GET">
  <input type="text" name="keyword" placeholder="キーワードを入力してください">
  <input type="submit" value="検索">
</form>

[検索]ボタンをクリックすると、フォームはGETを介してクエリ処理のためにsearch.phpページにキーワードを送信します。

3.検索ロジックを実装します

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クエリを実行し、ファジーはキーワードを同種のオペレーターを介して一致させ、最後に一致する記事のタイトルとコンテンツをユーザーに表示します。

4。機能的最適化の提案

現在の実装は基本バージョンであり、将来のニーズに応じて検索エクスペリエンスを最適化できます。

  • ページング機能を追加して、一度に多くの結果を積み込まないようにします
  • 公開時間や関連性によるソートなど、ソート機能を追加しました
  • フルテキストインデックステクノロジーを採用して、検索効率と精度を向上させる
  • サードパーティの検索エンジン(Elasticsearch、solrなど)で拡張

要約します

この記事では、データベースの設計、フロントエンドフォーム、バックエンド検索実装など、PHPを使用してCMS Webサイトで検索機能を構築する完全なプロセスを紹介します。シンプルなコードの例を通じて、開発者がコンテンツの検索を迅速に実現し、ウェブサイトのユーザーエクスペリエンスを改善するのに役立ちます。これらのコンテンツがプロジェクト開発に役立つことを願っています。