php - 使用 ajax 进行多项选择

标签 php jquery mysql ajax

我正在构建一个投资组合页面并创建了一些过滤器来用户组织投资组合列表。过滤器是下拉列表,如下所示:

<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);
    } 
});

});

我的问题是:我需要为每种情况创建一个查询吗?一种用于用户仅选择客户时,一种用于选择客户和类别,依此类推?

最佳答案

不,您不需要这样做。您发送三个过滤器(组合框)的数据,并在 php/portfolio.php 中找到用户更改的过滤器。 例如:

$sql = "SELECT * FROM photos WHERE ....."
if($_POST['client']!="")
    $sql.=" AND client=".$_POST['client'];
if($_POST['category']!="")
    $sql.=" AND category=".$_POST['category'];
...

这就是你想要的吗?

关于php - 使用 ajax 进行多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070012/

相关文章:

javascript - 单击复选框后未收到复选框事件

javascript - 用于验证字段的正则表达式

javascript - 如何在asp.net中使用jquery创建水印效果

mysql - mysql中一张表的两条select语句的交集

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - JavaScript 和 PHP 的文本压缩

php - 如何在 slider 中显示视频

MySQL 更新语句

mysql - SQL - 选择月份中的所有客户

javascript - 根据存储在 MySQL 数据库中的 Google 地方信息中的位置搜索附近的位置?