html 検索機能 実装

HTML検索機能実装の方法

要約: 本記事では、HTMLでの検索機能の実装方法について詳しく解説しています。シンプルな検索フォームの作成から、データの検索処理まで、ステップバイステップで説明されており、初心者でも理解できる内容となっています。

1. HTMLで検索機能を付けるとこんなに便利に!

キュレーションサイトや個人ブログなどを読んでいるときに、過去の記事を検索したことがありますか?このような検索機能がないと、1ページ1ページ地道に探していかなければなりません。これってとても手間で面倒な作業ですよね。

<img src="キュレーションサイト検索機能イメージ.png" alt="キュレーションサイトの検索機能イメージ">

出典:https://webukatu.com/wordpress/

このような検索機能が設置されていれば、キーワードを入力して読みたい記事や見たいページを素早くヒットさせることが可能です。またキーワード検索により、探していた内容だけでなくそれに近いページもヒットするので、プラスアルファの情報を得ることもできます。

情報量やページ数が多いWebサイトほど、この「検索機能」はなくてはならないものと言えるでしょう。コーディングが難しそうなイメージがありますが、HTMLを使用して比較的簡単に検索機能を設置することが可能です。まだこの検索機能をサイトに導入していない方は、ぜひこの記事を読みながら作成してみて下さい!

2. 早速、HTMLを使って検索機能を追加してみよう!

では、早速HTMLを使ってWebサイトに検索機能を設置してみましょう。ここでは、HTMLのコードの書き方をご説明します。

2.1 Web全ての検索をする方法

サイトに設置されている検索機能には、GoogleやYahooなどWeb全体を対象に検索する場合と、閲覧しているサイト内のみでの検索など、検索する範囲を設定することが可能です。ここではまず、Web全体からキーワードを検索する方法をご紹介します。

<form action="http://www.google.co.jp/search" method="get"></form>

この様に、「action」属性に検索サイトURLを、「method」属性には送信するときの転送方法(getもしくはpost)を記述しましょう。

このgetpostには、以下のような違いがあります。

get post
データ量の制限 制限あり 制限なし
セキュリティ 送信データがURLに表示されるため、セキュリティ上注意が必要 送信データがURLに表示されないため、セキュリティ上安全
サーバーへの記録 送信データがサーバーにログとして残る 送信データが外側から見られることがない
送信形式 入力内容がURLとして送信される 入力内容がそのまま本文として送信される

またaction属性の部分のURLを変更すれば、別の検索エンジンでの検索も可能です。

<input>タグには、

  • type (形式)

  • name (名前)

  • placeholder (初期表示内容の指定)

  • value (値の指定)

を記述していきます。

ここでは検索機能を作成するので、type (形式) は「search (検索)」「submit (実行ボタン)」です。

<form action="http://www.google.co.jp/search" method="get">
  <input type="search" name="search" placeholder="キーワードを入力">
  <input type="submit" name="submit" value="検索">
</form>

HTML内で上記のように記述していくと、

<img src="web全体検索機能イメージ.png" alt="web全体検索機能イメージ">

このような検索機能を作成することができます。2行目が入力フォーム、3行目が検索ボタンです。

  • type="search": 検索キーワードを入力するためのフィールドを指定します。

  • name="search": この入力フィールドに"search"という名前をつけます。サーバーサイドでデータを受け取る際に、この名前で識別されます。

  • placeholder="キーワードを入力": テキストフィールド内に、薄いグレーで「キーワードを入力」というヒントを表示します。ユーザーが入力開始すると、このヒントは消えます。

  • type="submit": フォームを送信するためのボタンを作成します。

  • name="submit": この送信ボタンに"submit"という名前を付けます。

  • value="検索": ボタンに表示されるテキストを「検索」に設定します。

2.2 サイト内だけで検索をする方法

使用しているサイト内だけでの検索をする場合は、<form>タグのaction属性にサイトURLに変更することで可能になります。

<form action="サイトURL" method="get">
  <input type="search" name="search" placeholder="キーワードを入力">
  <input type="submit" name="submit" value="検索">
</form>

これにより、キュレーションマガジンやブログなどサイト内でキーワード検索ができるようになり便利です。ほとんどのサイトで、この様に閲覧しているサイト内での検索ができるように設定されています。

2.3 検索機能のサイズやカラーを指定する方法

入力フォームのサイズを変更したい、自分で作成した検索ボタンを使いたいという人も多いのではないでしょうか。その場合は、HTMLの<input>タグを利用してカスタマイズしていきましょう。

検索ボタン部分を自分で作成したイラストやフリー画像などを使用する場合は、コードに画像URLを記述することで可能になります。

<form action="http://www.google.co.jp/search" method="get">
 <input type="search" name="search" placeholder="キーワードを入力">
 <input type="image" src="画像URL" width="30" height="30" alt="検索" value="検索する">
</form>

HTML内にこの様なコードを記述することで、

<img src="画像検索ボタンイメージ.png" alt="画像検索ボタンイメージ">

検索ボタンを自由にカスタマイズすることが可能です。

  • type="image": 画像をボタンとして使用することを指定します。

  • src="画像URL": 使用する画像のURLを指定します。

  • width="30" height="30": 画像の幅と高さを指定します。

  • alt="検索": 画像が表示されない場合に表示される代替テキストです。

文字を入力するテキストボックスは「size属性」を使って変更することが可能です。

<form action="http://www.google.co.jp/search" method="get">
 <input type="search" name="search" placeholder="キーワードを入力" size="40">
 <input type="image" src="画像URL" width="30" height="30" alt="検索" value="検索する">
</form>
  • size="40": テキストボックスの幅を40文字分に設定します。

この様にHTML内でサイズを変更し、検索機能のバランスを整えてより使いやすいサイトにしましょう!

3. 注意ポイントは?

上記で説明したように、検索機能はHTMLで<input>タグを使用して作成していきます。この<input>タグには様々な属性があるので、用途に合わせて適切に使い分けることが重要です。

例えば、

  • maxlength属性: 入力できる最大文字数を制限できます。検索キーワードの場合、必要以上に長い文字列の入力を制限することで、サーバーへの負荷を軽減できます。

  • type="password": 入力した文字を「*」などの記号で隠すことができます。これはパスワード入力欄など、セキュリティ上重要な情報の入力に用いられますが、検索機能には不要です。

検索機能に必要な属性は、ユーザーの使いやすさを考慮して選択しましょう。ユーザーにとって分かりやすく、使いやすい検索機能を目指して作成することが重要です。

また、今回紹介した検索機能の方法はHTMLのみで作成する方法です。より高度なデザインや機能を実装したい場合は、CSSやJavaScriptを組み合わせる必要があります。

4. まとめ

今回は、HTMLを使って検索機能を実装する方法を紹介しました。HTMLだけでもシンプルな検索機能を作成することができます。

検索機能は、Webサイトの使いやすさを向上させるだけでなく、ユーザーの満足度を高め、サイトの利用促進にもつながる重要な要素です。

ぜひ、この記事を参考にHTMLで検索機能を実装し、より良いWebサイトを作成してみてください!

検索機能のスクリプト実装

作成した検索フォームに対して、JavaScriptやPHPを使用して検索機能を実装する手順を解説します。具体的なコード例を交えて、検索処理の流れを説明します。

以下は、PHPを使用した検索処理の基本的なコード例です。

<?php
if (isset($_GET['query'])) {
    $query = $_GET['query'];
    // データベース接続設定
    $conn = new mysqli("localhost", "username", "password", "database");
    
    // 検索クエリを実行
    $sql = "SELECT * FROM items WHERE name LIKE '%$query%'";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo "<p>" . $row['name'] . "</p>";
        }
    } else {
        echo "<p>検索結果が見つかりませんでした。</p>";
    }
}
?>

検索結果の表示方法

検索で得られた結果をどのように表示するかについて詳しく解説します。結果をリスト形式で表示する方法や、結果がない場合の処理についても触れます。

以下は、検索結果をリスト形式で表示するための例です。

<?php
// 検索結果を表示する際のコード
if ($result->num_rows > 0) {
    echo "<ul>";
    while($row = $result->fetch_assoc()) {
        echo "<li>" . $row['name'] . "</li>";
    }
    echo "</ul>";
}
?>

このように、検索結果をリスト形式で簡単に表示することができます。また、結果が見つからなかった場合のメッセージも重要です。

参考文献: PHP Manual - mysqli_query()

Q&A

  • Q1: 検索フォームはどのようにスタイルを追加できますか? A1: CSSを使用して、フォームや入力フィールドにスタイルを適用できます。
  • Q2: 検索結果をページネーションする方法はありますか? A2: 検索結果を複数のページに分けるためには、LIMIT句とOFFSETを使用します。
  • Q3: JavaScriptで検索機能をどのように実装できますか? A3: JavaScriptを使用して、AJAXリクエストを送り、リアルタイムで検索結果を表示できます。

その他の参考記事:サイト 内 検索 html