我有一组复选框。如果单击它们,当单击一个按钮时,应将 SQL 字符串的位发送到php文件。
复选框设置如下:
<input type="checkbox" class="checkboxes" name="checkb[]" value="SYSTEM LIKE '%system%'">
ajax看起来如下:
$("#button1").click(function(e) {
var category_id = {};
category_id['checkboxvalue'] = $('.checkboxes:checked').serialize();
$.ajax({
type: "POST",
url: "allgemein.php",
data: category_id,
success: function(response) {
$("#resulttable").show().html(response);
}
});
});
在php中我尝试这样称呼它们:
$strWhere = '1=1';
if(true === isset($_POST['checkb']) && 0 < sizeof($_POST['checkb']))
{
$strWhere .= '(';
foreach($_POST['checkb'] as $checkboxval)
{
$strWhere .= '"'.$checkboxval.'" OR ';
}
//remove last OR
$strWhere = substring($strWhere, 0, -3);
$strWhere .= ')';
}
$strWhere
被添加到 SQL 查询的WHERE
子句中。
有人可以说为什么这不起作用? $strWhere
总是 1 = 1 ,它永远不会进入if循环...不知怎的,我没有使用$_POST['checkb']
正确调用数组,我只能&# 39;弄清楚原因。