php - 如何根据多个复选框进行mysql查询

标签 php mysql checkbox

我正在尝试基于多个复选框进行查询。(例如电子商店)

复选框

         <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/

相关文章:

php - Symfony 2 : INNER JOIN on non related table with doctrine query builder

php - 错误的整数值 : '' for column 'ColorHair' at row 1

mysql - mysql 的 Laravel 查询构建器中的顺序如何重要

带有复选框和所有可点击的 Android ListView

php - 为什么 Laravel 邮件无法在实时服务器上运行?

php解析简单的xml属性

php - Doctrine2 默认时间戳格式为 "0000-00-00 00:00:00"?

mysql - SQL:排序后按列分组

php - 选中的复选框不起作用?

javascript - 如果 localStorage 返回值 true,则选中该复选框