如何使用ajax基于多个复选框进行查询。(适用于电子商店)
复选框
<div id="checkboxes">
<label><input type="checkbox" value="Zara" >zara</label>
<label><input type="checkbox" value="Nike" >nike</label>
<label><input type="checkbox" value="Adidas" >Adidas</label>
</div>
<div id="color">
<label><input type="checkbox" value="red" >red</label>
<label><input type="checkbox" value="black" >black</label>
<label><input type="checkbox" value="blue" >blue</label>
</div>
<div id="style">
<label><input type="checkbox" value="classic" >classic</label>
<label><input type="checkbox" value="modern" >modern</label>
</div>
查询
$brand = $_POST['brand'];
$color = $_POST['color'];
$style = $_POST['style'];
$Query = "SELECT * FROM items WHERE brand IN ('" . implode("','", $brand) . "') AND color IN ('" . implode("','", $color) . "') AND style IN ('" . implode("','", $style) . "')";
$QueryResult = mysqli_query($connection , $Query);
while($QueryRow = mysqli_fetch_assoc($QueryResult)){
?>
<div><p><?php echo $QueryRow['cost'];?></p></div>
<div><img src="<?php echo $QueryRow['img']; ?>"></div>
<?php
}
}
?>
另外,我有js脚本用于传递带有复选框值的数组,但它与问题没有关系,这就是我不发布脚本的原因。
问题:
如果没有选中复选框,如何避免错误? (例如,我只选择了红色=&gt;然后我应该得到与红色相关的所有结果,但如果我没有从每个组中选择至少一个复选框,则会出错。
有什么想法吗?