我有一个带有复选框的表单,我希望在sql表中进行搜索。
<input name="pc[]" type="checkbox" value="1">I      
<input name="pc[]" type="checkbox" value="2">II      
<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') ");
如何编辑代码?
答案 0 :(得分:0)
从查询中删除$ad
的引号。此外,您的内爆不会将值括在引号内。请尝试使用以下代码:
$ad = "'" .implode("', '", $_POST['pc']) . "'"; // outputs '1', '2' etc
$result=mysql_query("SELECT * FROM students1 WHERE PartCode IN ($ad) ");
答案 1 :(得分:0)
<input name="pc[]" type="checkbox" value="1">I      
<input name="pc[]" type="checkbox" value="2">II      
<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>