PHP 開発: 検索キーワード プロンプト機能の実装
検索キーワード プロンプト機能は、現代の Web サイトで非常に一般的で実用的な機能の 1 つです。ユーザーが検索ボックスにキーワードを入力すると、システムはユーザーの検索を容易にするために、既存のデータに基づいて関連するプロンプト オプションを提供します。この記事では、PHP言語を例に、検索キーワードプロンプト機能の実装方法を具体的なコード例とともに紹介します。
1. データベース設計
まず、キーワード データを保存するデータベース テーブルを設計する必要があります。 MySQL を例に挙げると、id とキーワードの 2 つのフィールドを含む「keywords」というテーブルを作成できます。このうち、idは主キーとしてインクリメントされ、keywordにはキーワードが格納されます。
2. HTML ページ
検索キーワード プロンプト機能は通常、Ajax テクノロジを通じて実装されるため、検索ボックスを含む HTML ページが必要です。以下は簡単な HTML ページの例です:
<!DOCTYPE html> <html> <head> <title>搜索关键词提示功能</title> <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script> <script> $(document).ready(function(){ $("#search").on("input", function(){ var keyword = $(this).val(); $.ajax({ url: "search.php", method: "POST", data: {keyword: keyword}, success: function(data){ $("#keywordList").html(data); } }); }); }); </script> </head> <body> <input type="text" id="search" placeholder="请输入关键词"> <div id="keywordList"></div> </body> </html>
上記のコードでは、$("#search").on("input", function(){})## による検索をリッスンします。 # ユーザーがキーワードを入力すると、ボックスの入力イベントが Ajax リクエストを通じて
search.php ページに送信され、キーワードがパラメーターとして渡されます。
search.php ページでは、Ajax リクエストを処理し、データベースから関連するキーワード データをクエリするための PHP コードを記述する必要があります。以下は簡単な PHP コードの例です。
<?php // 连接数据库 $connect = mysqli_connect("localhost", "username", "password", "database"); // 检查数据库连接 if(mysqli_connect_errno()){ echo "无法连接到数据库:" . mysqli_connect_error(); exit(); } // 获取关键词参数 $keyword = $_POST['keyword']; // 从数据库中查询相关关键词数据 $query = "SELECT * FROM keywords WHERE keyword LIKE '%$keyword%'"; $result = mysqli_query($connect, $query); // 输出相关关键词列表 if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_assoc($result)){ echo "<p>" . $row['keyword'] . "</p>"; } } else{ echo "<p>无相关关键词</p>"; } // 关闭数据库连接 mysqli_close($connect); ?>上記のコードでは、まず
mysqli_connect() 関数を通じて MySQL データベースに接続します。次に、Ajax リクエストを通じて送信されたキーワード パラメーターを取得します。
LIKE ステートメントを使用すると、キーワードをあいまい一致できます。
mysqli_fetch_assoc() 関数を通じてクエリ結果から各行のデータが取得され、ページに出力されます。
以上がPHP開発:検索キーワードプロンプト機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。