私は次のように私は、データベース内の生徒の名前を検索するためのフォームを作成しstudent_nameとCLASS_NAME検索手順の結果をさらにフィルタリングする方法は?
student_id | student_name | class_name
1 | John | 1
2 | Herry | 2
3 | Peter | 1
4 | Tom | 2
を格納するテーブルのstudent_tbを持っている:
<form style="text-align: center;" method='POST'>
<input type="text" name='input_text' id='input_text' placeholder="Input text to search" required>
<button type="submit" name='search' value="search" ">Search</button>
</form>
<div class="container" style="text-align: center;">
<?php
if(isset($_POST['search'])){
$sql = "SELECT * FROM student_tb WHERE student_name LIKE '%".$_POST['input_text']."%' ";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){?>
<ul>
<li><h3><?php echo $row["student_name"] . $row["class_name"]; ?></h3></li>
</ul>
<?php }}?>
</div>
は、私はその2つのチェックボックスを追加する、と仮定探索ステップからの結果をさらにフィルタリングするために使用される。チェックボックスをクリックして実装する方法を教えてください。たとえば、「T」と入力すると、検索結果はPeter 1
およびTom 2
になります。その後、私はチェックボックスclass 1
をクリックして、結果だけで構築しながら簡単に、配列(name="class[]")
としてこれらのチェックボックスを定義し、それらをあなたのCLASS_NAME IDのと等しい値を与え、それらをチェックピーター1.はあまり
<div id="filter" style="text-align: center;">
<input type="checkbox" id="class1" name="class1" value="class1">
<label for="class1">Class 1</label>
<input type="checkbox" id="class2" name="class2">
<label for="class2">Class2</label>
</div>
ありがとうございます。ボックスと検索をチェックするとうまくいきました。しかし、私はボックスをチェックして検索するテキストを挿入しなかった場合。 (注意:未定義インデックス:26行目のindex.phpのクラス 警告:26行目のindex.phpでforeach()に無効な引数が指定されました 警告:mysqli_fetch_assoc()は、パラメータ1が$ _POST ['input_text']。 "%" " – user3051460
はい、私のミスは、 POSTパラメータとしてチェックボックスが渡されていることを確認する必要があります。 – mitkosoft
本当に短いコードで分かりやすいです。ライブの表示?例えば、チェックボックスをクリックすると、フィルタリングの結果が表示されます。1 – user3051460