【发布时间】:2019-06-16 10:46:56
【问题描述】:
在这里,我试图通过选择标记值过滤搜索查询。我应该在我的代码中编辑什么更正?
我尝试了很多方法,但我没有发现代码有任何问题。
<label>Filter by:</label>
<select name="select">
<option value = "fullname">Name</option>
<option value = "username">Username</option>
</select>
<input type="text" name="keywords" style="width:20%" placeholder="Search...">
<input style="width:3%" type="submit" name="search" value="GO"/>
</div>
<br />
<?php
if (isset($_POST["search"])){
$select = $_POST['select'];
$keywords = $_POST['keywords'];
if ($query = mysqli_query($con,"SELECT * from users WHERE '%{$select}%' LIKE '%{$keywords}%' ")) {
while ($rows = mysqli_fetch_assoc($query)) {
echo "<tr>".
"<td>".$rows['fullname']."</td>".
"<td>".$rows['username']."</td>".
"</tr>";
}
}
} else {
echo "No results to display!";
echo "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />";
}
?>
我希望根据选择标签显示结果。当我提交表单时,它什么也没显示。
【问题讨论】:
-
@mickmackusa,Stack Overflow 应该将该评论添加到每个带有“sql”和“php”标签的帖子中。误报率足够小,可以忽略。
-
2 件事。 1- 使用parametrized queries。 2-检查您的查询for errors。
-
或者用类似锤子的东西:stackoverflow.com/questions/17053466/…
-
关闭或否决这个问题并不能帮助 OP 了解发生了什么。
标签: php mysql sql search filter