0
我有一个存储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>
假设,我将增加两个复选框,其用于进一步过滤搜索步骤的结果。当我点击复选框时,你能指导我如何实现它吗?例如,我输入'T',搜索结果为Peter 1
和Tom 2
。在那之后,我点击复选框class 1
,结果只剩彼得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中的类012,警告:在第26行的index.php中为foreach()提供的无效参数 警告:mysqli_fetch_assoc()期望参数1为mysqli_result,在第35行的index.php中给出的布尔值)....在这种情况下,搜索过程只是做WHERE student_name LIKE'%“。$ _POST ['input_text']。”%'“ – user3051460
是的,我们需要检查是否有任何复选框作为POST参数传递 - 检查更新后的脚本 – mitkosoft
谢谢,我明白了,它确实代码简单易懂,我只想问你一个问题。现场展示?例如,当我点击复选框时,过滤结果会显示1 – user3051460