【发布时间】:2015-11-23 10:02:52
【问题描述】:
我已经在一个站点中实现了一个搜索栏,该站点将转到数据库并从中获取结果,但现在我想为该搜索添加一个过滤器,以便您可以按一组类别进行过滤(也定义在这个数据库中)。 如何获取 Filter Dropdown 中的参数并将它们传递给 PHP 搜索?
到目前为止,我的 html 看起来是这样的:
<div class="form-group">
<div class="input-group-btn search-panel">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span id="search_concept">Filtrar</span> <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<?php print("$salida");?>
<li><a href="#" data-value="action">Todo</a></li>
</ul>
<input type="hidden" name="search_param" value="all" id="search_param">
<input type="text" class="form-control" name="searchinv" placeholder="Buscar" onkeydown="searchq();">
</div>
</div>
javascript 是:
$(document).ready(function(e){
$('.search-panel .dropdown-menu').find('a').click(function(e) {
e.preventDefault();
var param = $(this).attr("href").replace("#","");
var concept = $(this).text();
$('.search-panel span#search_concept').text(concept);
$('.input-group #search_param').val(param);
});
});
function searchq(){
var searchTxt = $("input[name='searchinv']").val();
$.post("search.php",{searchVal: searchTxt}, function(output){
$("#output").html(output);
});
}
还有 PHP:
if(isset($_POST['searchVal'])){
$searchq = $_POST['searchVal'];
$query = $mysqli->query("SELECT * FROM product WHERE name_product LIKE '%".$searchq."%'");
if($query->num_rows){
$rows = $query->fetch_all(MYSQLI_ASSOC);
forEach($rows as $row){
$nprod = $row['name_product'];
$id = $row['id_product'];
$output .= '<div> '.$nprod.' '.$id.'</div>';
}
}
【问题讨论】:
-
标记为请求教程。除了“我不做 X,但我想开始做 X”之外,您没有表现出任何问题。当您提供代码时,没有错误消息可以确定您是否实际测试了您的理论。
标签: javascript php search mysqli filter