ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して CMS で全文検索とキーワード クエリを開発する方法
インターネット技術の継続的な発展に伴い、コンテンツ管理システム (CMS) はネットワーク アプリケーションにおいてますます重要な役割を果たしています。 CMS を使用すると、Web サイト管理者や作成者は Web サイトのコンテンツを管理しやすくなります。全文検索とキーワード クエリは CMS でよく使用される機能の 1 つです。 PHP は広く使用されている Web 開発言語です。この記事では、PHP を使用して CMS に全文検索とキーワード クエリを実装する方法を紹介します。
1. 全文検索
全文検索とは、記事全体から特定のキーワードまたは語句を検索することを指します。 CMSで全文検索機能を実装するにはMySQLの全文検索機能を利用する必要がありますが、同時に以下のコードを他のデータベースでも利用することができます。
1.1 検索フォームの作成
CMS Web サイトでの検索モジュールの作成は重要なタスクです。 Web サイト ユーザーの一般的なスキル レベルと使用パターンを考慮する必要があります。以下は、テキスト入力ボックスと送信ボタンを含む単純な検索フォームです。
<form action="search_results.php" method="post"> <input type="text" name="search_keyword"> <input type="submit" name="submit" value="Search"> </form>
1.2 検索機能の実装
検索フォームにキーワードを入力した後、クエリ ステートメントにキーワードを挿入する必要があります。以下は、基本的な MySQL 全文検索クエリ ステートメントです。
SELECT * FROM `articles` WHERE MATCH (`title`, `content`) AGAINST ('$search_keyword')
このクエリ ステートメントでは、「articles」テーブルの「title」フィールドと「content」フィールドに検索キーワード「$search_keyword」が含まれているかどうかをクエリします。キーワードが一致すると、記事のすべてのコンテンツが返されます。 PHP コードでは、SQL ステートメントの正確さとセキュリティを確保するために、MySQL の「mysqli_real_escape_string()」関数を使用して検索キーワードをエスケープする必要があることに注意してください。
$search_keyword = mysqli_real_escape_string($con, $_POST['search_keyword']);
2. キーワード クエリ
CMS には、全文検索に加えて、キーワード クエリ機能も必要です。この機能は、ユーザーが指定したキーワードに基づいて、関連するすべてのキーワードをクエリするために使用されます。 。 記事。
2.1 キーワード クエリ フォームの作成
Web サイトでは、キーワード クエリの場合、国に重要なキーワードが含まれている場合、ユーザーはキーワードを入力し、その重要性を選択して、キーワードをフィルタリングできます。アプリケーションによって返された結果。以下は、3 レベルのセレクターを含む検索フォームです。
<form action="search_results.php" method="post"> <input type="text" name="search_keyword"> <select name="importance"> <option value="1">Low</option> <option value="2">Medium</option> <option value="3" selected>High</option> </select> <input type="submit" name="submit" value="Search"> </form>
2.2 キーワードクエリ機能の実装
キーワードクエリの実装では、MySQL の「LIKE」演算子と「AND/OR」論理演算子を組み合わせる必要があります。以下は、キーワード クエリの基本的なクエリ ステートメントです。このうち、実際のアプリケーションでは、$conn をデータベースに正しく接続するように変更する必要があります。
$conn = mysqli_connect($servername, $username, $password, $dbname); $search_keyword = mysqli_real_escape_string($conn, $_POST['search_keyword']); $importance = mysqli_real_escape_string($conn, $_POST['importance']); $query = "SELECT * FROM articles WHERE "; $query .= "(title LIKE '%$search_keyword%' "; $query .= "OR content LIKE '%$search_keyword%') "; if ($importance == 1) { $query .= "AND importance = 1"; } elseif ($importance == 2) { $query .= "AND importance = 2"; } elseif ($importance == 3) { $query .= "AND importance >= 3"; } $result = mysqli_query($conn, $query);
クエリ文では、まず、入力した検索キーワードがタイトルまたは内容に存在するかどうかをクエリし、存在する場合は、重要度が 1 または 2 の記事とそれ以上の記事をクエリします。または 3 に等しい。複数の結果が存在する可能性があり、それらをすべてループしてすべてを表示できます。記事の追加、編集、削除など、CMS の他の機能にも同様の方法を使用できます。
この記事で紹介する方法は、基本的な検索とクエリの実装にすぎず、すべての Web サイトのニーズを満たすことはできません。実際のアプリケーションでは拡張および最適化する必要もあります。たとえば、高度な検索、ページネーション、検索結果の並べ替えなどの機能を使用できます。ただし、上記の内容は入門ガイドとしても機能し、PHP を使用して CMS で全文検索とキーワード クエリを開発する方法をより深く理解できるようになります。
以上がPHP を使用して CMS で全文検索とキーワード クエリを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。