我正在构建一个投资组合页面,并为用户组织投资组合列表创建了一些过滤器。过滤器是下拉列表,如下所示:
<select name="category" id="filter-category" class="chosen-select">
<option value="0">All</option>
<option value="1">Magazine</option>
<option value="2">Books</option>
...
</select>
客户和项目订单还有另一个选择。
我使用jquery ajax发送此值。这是一段摘录:
$('.chosen-select').change( function(){
var client= $('#filter-client option:selected').val();
var category = $('#filter-category option:selected').val();
var order = $('#filter-order option:selected').val();
$.ajax({
type: 'POST',
data: ({client: client, category : category, order : order}),
dataType: 'json',
url: 'php/portfolio.php',
success: function(data) {
console.log(data);
}
});
});
我的问题是:我需要为每种情况创建一个查询?一个用户何时仅选择客户端,一个用于选择客户和类别,等等?
答案 0 :(得分:0)
不,你不需要这样做。您发送三个过滤器(组合框)的数据,并在php/portfolio.php
中找到用户更改的过滤器。
例如:
$sql = "SELECT * FROM photos WHERE ....."
if($_POST['client']!="")
$sql.=" AND client=".$_POST['client'];
if($_POST['category']!="")
$sql.=" AND category=".$_POST['category'];
...
是你想要的吗?