我正在尝试基于多个复选框进行查询。(例如电子商店)
复选框
<div id="car">
<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="brand">
<label><input type="checkbox" value="mazda" >mazda</label>
<label><input type="checkbox" value="bmw" >bmw</label>
</div>
查询
$brand = $_POST['brand'];
$color = $_POST['color'];
$Query = "SELECT * FROM items WHERE brand IN ('" . implode("','", $brand) . "') and color IN ('" . implode("','", $color) . "')";
$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 脚本用于传递带有从复选框中获取的值的数组,但它与问题无关,这就是我不发布脚本的原因。
问题:
如果未选中颜色复选框,如何避免错误?
有什么想法吗?
最佳答案
"SELECT * FROM items WHERE brand IN ('" . implode("','", $brand) . "') and color IN ('" . implode("','", $color) . "')";
关于php - 如何根据多个复选框进行mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40872681/