方法1: 単純なHTMLとPHPの組み合わせ
まず、HTMLのドロップダウンメニューを作成します。
<form method="POST" action="search.php">
<select name="category">
<option value="category1">カテゴリ1</option>
<option value="category2">カテゴリ2</option>
<option value="category3">カテゴリ3</option>
</select>
<input type="submit" value="検索">
</form>
次に、PHPのコードで選択されたカテゴリに基づいてデータベースを検索します。
この方法では、HTMLのフォームからPOSTリクエストでカテゴリを送信し、PHPのコードで受け取ったカテゴリに基づいてデータベースを検索します。
方法2: AJAXを使用した非同期処理
この方法では、ドロップダウンメニューのカテゴリが選択されるたびに、非同期でデータベースを検索し、結果を表示します。以下にコード例を示します。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('select[name="category"]').change(function() {
var category = $(this).val();
$.ajax({
type: 'POST',
url: 'search.php',
data: { category: category },
success: function(response) {
$('#search-results').html(response);
}
});
});
});
</script>
<form>
<select name="category">
<option value="category1">カテゴリ1</option>
<option value="category2">カテゴリ2</option>
<option value="category3">カテゴリ3</option>
</select>
</form>
<div id="search-results"></div>
PHPのコードは前の方法と同じですが、結果を表示するためのHTML部分が異なります。
これらはドロップダウン検索を実装するための2つの一般的な方法です。必要に応じて、データベースのテーブルやフィールド名を適切に変更してください。また、セキュリティの観点から、入力値の検証やSQLインジェクション対策を追加することも重要です。