如何基于多个复选框进行搜索


How to search based on multiple checkbox

我有一个带有复选框的表单,我想根据它在sql表中进行搜索。

<input name="pc[]" type="checkbox" value="1">I  &nbsp &nbsp &nbsp   
<input name="pc[]" type="checkbox" value="2">II  &nbsp &nbsp &nbsp   
<input name="pc[]" type="checkbox" value="3">III

如果勾选了复选框1,那么查询应该是这样的

$result=$mysql_query="SELECT * FROM students1 WHERE PartCode IN ('1') "; 

如果勾选了复选框1和2,那么查询应该是这样的

$result=$mysql_query="SELECT * FROM students1 WHERE PartCode IN ('1', '2') "; 

等等。

为此,我编写了以下代码。但它不起作用。

$ad = implode ("','",$_POST['pc']); 
$result=mysql_query("SELECT * FROM students1 WHERE PartCode IN ('$ad') "); 

如何编辑代码?

从查询中删除$ad的引号。此外,您的内爆不是将值括在引号内。所以尝试使用以下代码:

$ad  = "'" .implode("', '", $_POST['pc']) . "'";   // outputs '1', '2' etc
$result=mysql_query("SELECT * FROM students1 WHERE PartCode IN ($ad) ");
<input name="pc[]" type="checkbox" value="1">I  &nbsp &nbsp &nbsp   
<input name="pc[]" type="checkbox" value="2">II  &nbsp &nbsp &nbsp   
<input name="pc[]" type="checkbox" value="3">III
<script>
jQuery("input[type=checkbox]").click(function(){
        var selectedCheckBoxArray = new Array();
        var n = jQuery("input[type=checkbox]:checked").length;
        if (n > 0){
            jQuery("input[type=checkbox]:checked").each(function(){
                selectedCheckBoxArray.push($(this).val());
            });
            //send check box data value array to server using Ajax
            $.ajax({
                    type: "POST",
                    url: "server_file.php",
                    data: { myCheckboxes:selectedCheckBoxArray },
                    success: function(data){
                        $('#myResponse').html(data);
                    }
            });
        }
    });
</script>