簡體   English   中英

如何獲取在php中檢查了哪些清單項並使用它們進行sql查詢?

[英]How can I obtain which checklist items are checked in php and use them to make a sql query?

我正在嘗試創建一個清單,作為我的數據庫的過濾器。 該清單將用於輸入要搜索的多個值。 例如,用戶應該能夠同時搜索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))

結果應為$ query = select * from Sheet1,其中Brand in('AC','Abarth')。 這是我的數據庫,其中顯示了AC或Abarth品牌的所有汽車型號。 我得到的當前結果是,它不會提供清單中所檢查內容的值。 所以最終結果什么都沒有,可能是因為我的Ajax代碼,因為$ brand沒有獲得任何價值。 該值應該是一個數組,該數組以后將轉換為單個字符串。

弄清楚我自己的問題。 PHP是錯誤的。 php正在尋找變量Brand的值,而ajax會將值發送到變量brand。

通過更改固定

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM