我已經實現了一個搜索欄到一個會去數據庫並從中獲取結果的網站,但現在我想爲該搜索添加一個過濾器,以便您可以過濾由一組類別(也在這個數據庫中定義)。 如何獲取Filter Dropdown中的參數並將它們傳遞給PHP搜索?在我的搜索中包含一個過濾器,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」之外,您不會出現問題。當您提供代碼時,沒有錯誤消息可以確定您是否真正測試了您的理論。 – onebree