この記事では、PHP を使用して簡単な検索機能を作成する方法を紹介します。興味のある方はぜひご覧ください。
検索と言えば、誰もがそれを最もよく知っています。何か知りたいとき、ユーザーにとって必要な基本的なツールである検索は、知りたいことをキーワードを入力すると膨大な知識ベースを蓄積します。実際、検索を実行すると、検索サーバーがブレインストーミングを行い、キーワードに一致する複数の結果を 1 つずつ表示します。
開発環境: php5+mysql5+nginx1.16
データベースキーテーブルの設計
name フィールドは検索キーワードとして考えられるさまざまな単語を格納するために使用され、href フィールドは検索キーワードとして使用されます。 Web サイトのアドレスを格納し、クエリ結果の Web サイトへのジャンプを実現します。img フィールドには Web サイトのロゴや重要な画像プロンプト情報が格納されます。
画像リソースはプロジェクト img/search_img フォルダー ディレクトリに保存されます
ウェブサイトのホームページ コード
第一レベルの検索ボックス コード、変更chksearch.php
に渡されるパラメータ。二次検索ボックスのコードは、一次検索によって渡されたキーワードを処理して保存し、キーワードの再検索をサポートします。
第 1 レベルの検索スタイル シート
第 2 レベルの検索スタイル シート
設計コードが記述されました。効果を見てみましょう。
第 1 レベルの検索ページを開くと、コード設計では次の 3 つの状況を考慮する必要があります: 1. キーワードが入力されていない、2. キーワードが入力され、データベース クエリの結果が得られる、3. キーワードが入力され、データベースがクエリには結果がありません。まだキーワードを入力せず、検索をクリックしてください。
自動的に二次検索ページに移動し、キーワードが入力されていないことを正確に検出してプロンプトを表示します。
「コンピューター」キーワードを入力してデータベース名を正しくクエリします。フィールドには「コンピュータ」の結果が含まれており、テキストと画像を含むリスト形式で表示されます。
キーワード「地下鉄」を入力すると、「このキーワードの内容が見つかりませんでした。」というプロンプトが表示されますが、実際、データが挿入されたときに「地下鉄」という単語はデータベースに含まれていませんでした。
第 1 レベルの検索に戻り、「google」キーワードを入力して、検索をクリックします。
自動的に二次検索ページにジャンプし、一次検索ページから渡されたキーワードを保持し、キーワード関連の結果を正確にクエリすることもできます。
キーワード「携帯電話」をテストし、結果を正しく表示します。
キーワード「エアコン」をテストし、結果を正しく表示します。
キーワード「コーヒー」をテストし、結果を正しく表示します。
キーワード「ナビゲーション」をテストし、結果を正しく表示します。
キーワード「Tencent」をテストし、結果を正しく表示します。
キーワード「携帯電話」を再度入力し、テキストリンクをクリックします。
新しいウィンドウでキーワードが属する Web サイトにジャンプします。
検索結果内のキーワードを強調表示したい場合は、chksearch.pho ファイルに str_ireplace 関数を追加できます。
「コンピュータ」を検索して、キーワードを赤色でマークします。
Apple を検索
Apple を再度検索
検索結果から、キーワードの大文字と小文字は区別されていないことがわかります。結果セット内のキーワードも正確にマークされます。
もちろん、検索機能を実装するために "% キーワード%" SQL ステートメントのような where フィールドを使用します。% を入力するとすべての結果がクエリされるというバグがあります。これはユーザー側では許可されていません。 chksearch.php は、ユーザーが入力したキーワードの文字列検出を実行し、一部の不正な文字を除外できます。
これで、PHP での単純な検索関数の実装のデモは完了です。お読みいただきありがとうございました。
推奨学習: 「PHP ビデオチュートリアル」