php - MySQL查询多个复选框值

标签 php mysql checkbox

我是复选框的新手。我想让用户根据复选框列表表示的三个可能的过滤器进行搜索。例如,如果我使用下面的表格,我希望用户能够包括所有(红色或蓝色)和大的形状。我能够找到的关于复选框查询的建议并没有完全解决这个问题。有没有一种方法可以用一个 MySQL 查询来做到这一点?

<form action="dbdquery.php" method="get">


<p>
Color:
<br/>
<input type="checkbox" name="color[]" value="Include All" checked/> Include All<br/>
<input type="checkbox" name="color[]" value="Red"/> Red<br/>
<input type="checkbox" name="color[]" value="Blue"/> Blue<br/>
<input type="checkbox" name="color[]" value="Yellow"/> Yellow<br/>

</p>

<p>
Size:
<br/>
<input type="checkbox" name="size[]" value="Include All" checked/> Include All<br/>
<input type="checkbox" name="size[]" value="Small"/> Small<br/>
<input type="checkbox" name="size[]" value="Medium"/> Medium<br/>
<input type="checkbox" name="size[]" value="Large"/> Large<br/>

</p>


<p>
Shape:
<br/>
<input type="checkbox" name="shape[]" value="Include All" checked/> Include All<br/>
<input type="checkbox" name="shape[]" value="Round"/> Round<br/>
<input type="checkbox" name="shape[]" value="Square"/> Square<br/>
<input type="checkbox" name="shape[]" value="Irregular"/> Irregular<br/>

</p>


    <input type="submit" value="Search">

</form>

最佳答案

试试这个:

使用内爆函数,

$colors = implode(",", $_GET['color']);

$size = implode(",", $_GET['size']);

$shape = implode(",", $_GET['shape']);

查询:

从表中选择 *,其中颜色在 ($colors) 或大小在 ($size) 或形状在 ($shape);

您需要添加条件来勾选包括全部。 (如果用户检查选择所有变量包括所有检查值)

关于php - MySQL查询多个复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522587/

相关文章:

PHP:json 解码限制

javascript - 如何设置全选 "checkbox"iMacros 而不使用按钮 "Play (Loop)"

php - 重定向 HTTP POST

php - Memcached不保存生成的数据

php - Doctrine Query Join 子查询语法

java - Hibernate 中的日期注解

javascript - 如何跟踪 ASP.NET 中的复选框更改?

java - 检查 checkBoxPreference 是否为 "true"

php - 正确的mysql查询来查询一个表并为另一个表查询提供信息

php - 如何更改 MySQL 查询的结果排序?