如何获取在php中检查哪些清单项并使用它们进行SQL查询?

时间:2017-12-04 09:28:45

标签: php sql ajax

我正在尝试创建一个清单,作为我的数据库的过滤器。核对表将用于输入多个值进行搜索。例如,用户应该能够同时搜索AC和Abarth品牌。

这就是品牌清单的样子。

<h3>Brand</h3>
                <?php 
                    $query = "select distinct(Brand) from Sheet1 order by Brand ASC";  
                    $rs = mysqli_query($conn,$query) or die("Error : ".mysql_error());
                    while($brand_data = mysqli_fetch_assoc($rs)){

                ?>
                    <a href="javascript:void(0);" class="list-group-item"> 
                    <input type="checkbox" class="item_filter brand" value="<?php echo $brand_data['Brand']; ?>"  >
                    &nbsp;&nbsp; <?php echo $brand_data['Brand']; ?></a>
                <?php } ?>

我的ajax代码。

var brand;
$(function(){
    $('.item_filter').click(function(){
        $('.product-data').html('<div id="loaderpro" style="" ></div>');

         brand = multiple_values('brand');

        $.ajax({
            url:"ajax.php",
            type:'post',
            data:{brand:brand},
            success:function(result){
                $('.product-data').html(result);
            }
        });
    });

});


function multiple_values(inputclass){
    var val = new Array();
    $("."+inputclass+":checked").each(function() {
        val.push($(this).val());
    });
    return val;
}

这就是我的php处理复选框的方式。

$brand = isset($_REQUEST['Brand'])?$_REQUEST['Brand']:"";
$query = "select * from Sheet1 where"; 

                   //filter query start 
                      if(!empty($brand)){
                          $branddata =implode("','",$brand);
                          $query  .= " Brand in('$branddata')"; 
                      }
$rs = mysqli_query($conn,$query) or die("Error : ".mysqli_error($conn))

结果应该是来自Sheet1的$ query = select *,其中Brand('AC','Abarth')。这是我的数据库显示所有车型AC或Abarth。 我得到的当前结果是它不会给出核对表中检查的值。所以最终的结果是什么,可能是因为我的ajax代码,因为$ brand没有得到任何价值。该值应该是一个稍后转换为单个字符串的数组。

1 个答案:

答案 0 :(得分:0)

弄清楚我自己的问题。 php错了。 php正在寻找变量Brand的值,同时ajax正在向变量品牌发送值。

通过更改

修复
$brand = isset($_REQUEST['Brand'])?$_REQUEST['Brand']:"";

$brand = isset($_REQUEST['brand'])?$_REQUEST['brand']:"";