ホームページ > バックエンド開発 > PHPチュートリアル > PHPを使ってWebサイトに検索機能を実装する方法

PHPを使ってWebサイトに検索機能を実装する方法

WBOY
リリース: 2023-06-23 13:20:02
オリジナル
3953 人が閲覧しました

インターネットの普及と発展に伴い、Web サイトは人々が情報やサービスを入手するための重要なチャネルの 1 つになりました。 Webサイト上の検索機能は、ユーザーが必要な情報を素早く入手するための重要なツールの一つです。この記事では、PHP を使用して Web サイトに検索機能を実装する方法について簡単に説明します。

1. 検索機能の基本原則

Web サイトに検索機能を実装するには、次の 4 つの基本手順を完了する必要があります:

1. ユーザーは次の情報を入力します。検索するキーワード;
2. ウェブサイトはキーワードに基づいてデータベースを検索します;
3. ウェブサイトは検索条件を満たすデータを抽出します;
4. ウェブサイトは検索条件を満たすデータを出力して提示します。

2. 検索機能を実現するための技術的手段

1. 検索機能を実現するための最も重要な技術的手段は、SQL 言語を使用してデータベースにクエリを実行することです。 PHP では、mysqli や PDO などのデータベース拡張機能を使用して、クエリ操作のためにデータベースに接続します。プロフェッショナルな検索エンジン サービスとして、Sphinx や Lucene などの検索エンジン サービスを使用することもできます。

2. 検索機能を実装する場合、次の技術的な問題に注意する必要があります:

(1) SQL インジェクションを防止する。悪意のあるデータの挿入を防ぐために、ユーザーが入力した検索キーワードをフィルタリングして検証する必要があります。

(2) 検索機能の効率化。大規模な Web サイトの場合、検索機能はデータベース内の大量のデータをクエリするため、インデックスを使用するなど、検索機能を最適化する必要があります。

(3) 検索結果の提示。 Web サイト上の検索結果は、ユーザーの検索ニーズに応じて分類、並べ替え、またはページ分割する必要があります。

3. 実践的な戦闘: PHP は Web サイトに検索機能を実装します

  1. データベースの設定

検索機能を実装する前に、以下の設定を行う必要があります。バックエンドの最初のデータベース。データベースの名前が「mydb」、テーブルの名前が「news」であるとします。テーブルには、ニュース情報のタイトル フィールドとコンテンツ フィールドが格納されます。次のステートメントを使用してテーブルを作成できます:

CREATE TABLE IF NOT EXISTS news (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL,
content text NOT NULL,
主キー (id)
) ENGINE=InnoDB DEFAULT CHARSET =utf8 AUTO_INCREMENT=1 ;

  1. 検索インターフェイスの実装

検索機能のインターフェイスを構築する必要があります。ユーザーは検索ボックスにキーワードを入力できます。検索ボックスにキーワードを入力し、送信ボタンをクリックするか Enter キーを押して、処理のために search.php ページにジャンプします。

コードは次のとおりです:





検索



検索







3. データベースにクエリを実行して検索機能を実装します

search.php では、検索条件に一致するデータをデータベースから取得して表示します。データベースに接続するには、PHP の mysqli 拡張機能を使用する必要があります。コードは次のとおりです:

$q = $_GET['q']; //検索キーワードを取得します
if ($q == '') {
echo "検索するキーワードを入力してください";
exit;
}
$con = mysqli_connect('localhost', 'root', '', 'mydb'); //データベースに接続します
if (!$con) {
die("データベースに接続できません: " .mysqli_error($con));
}
mysqli_select_db($con, "mydb");//データベースを選択
mysqli_query ($con, "set names 'utf8'");
$sql = "select * from news where title like '%" . $q . "%' or content like '%" . $q . "%' order by id desc";
$result = mysqli_query($con, $sql);
if (!$result) {
printf("エラー: %s
", mysqli_error($con ));
exit();
}
while ($row = mysqli_fetch_array($result)) {//ループして修飾されたデータを取得し、それを提示します
echo '

' . $row['title'] . '

';
echo '

' . $row['content'] . '

';
}
mysqli_close($con); //データベース接続を閉じる
?>

上記のコードは、mysqli 拡張機能を介してデータベースに接続し、データベースに条件を満たすデータをクエリします。検索条件。これには次の手順が含まれます:

(1) SQL インジェクションを防ぐためにユーザーが入力したキーワードをフィルタリングして検証します;

(2) mysqli_connect() を使用してローカルホスト上の mydb データベースに接続します接続できない場合は、接続エラーで終了します。

(3) mydb データベースを選択し、データベースのエンコードを「utf8」に設定します。

(4) SQL クエリ ステートメントを使用してニュース テーブル内の修飾されたデータをクエリし、$order_rows を使用して降順に並べ替えます。

(5) ループしてクエリ結果のデータを取得し、Web ページ上にタイトルとコンテンツを表示します。

(6) データベース接続を閉じます。

4.概要

この記事では、PHP を使用して Web サイトに検索機能を実装する方法を紹介します。これには、検索を実装するための基本原理、技術的手法、実践的な演習が含まれます。この記事のデモでは、mysqli を使用してデータベースにクエリを実行し、検索キーワードをフィルタリングして検証し、SQL インジェクションのセキュリティ リスクを回避します。この記事を読むことで、検索エンジンの他の技術的手段についてさらに詳しく調査することもできます。

以上がPHPを使ってWebサイトに検索機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート