我有一个 html 表单,其中有两个输入字段 说种姓(选项是 SC、ST 和 OBC)和方向(选项是北、南、东和西)。用户将使用复选框选择选项。
<input name="ct" type="checkbox" value="SC">SC
<input name="ct" type="checkbox" value="ST">ST
<input name="ct" type="checkbox" value="OBC">OBC
<input name="dr" type="checkbox" value="N">North
<input name="dr" type="checkbox" value="S">south
<input name="dr" type="checkbox" value="E">East
<input name="dr" type="checkbox" value="W">West
我还有一个数据库(名称:PEOPLE),列名为 Caste 、 Direction 等。
现在我想根据用户的选择运行 SQL 查询。例如
mysql_query("select * from PEOPLE where Caste='option/options selected by user' and Direction= 'option/options selected by user' ")
如果用户从每个字段中选择一个选项,那么这对我来说不是问题,
mysql_query("select * from PEOPLE where Caste='$_POST[ct]' and Direction= '$_POST[dr]' ")
但是如果他们使用多个选项,那么我应该如何进行。
最佳答案
为复选框赋予 name
属性,如下所示
<input type="checkbox" name="caste[]" value="SC" />
<input type="checkbox" name="caste[]" value="ST" />
<input type="checkbox" name="caste[]" value="OBC" />
在 php 端,您可以使用函数 implode 将 caste
形成字符串,如下所示(考虑到您正在执行 POST)
$caste_id = implode(",",$_POST["caste"]);
在从数据库读取数据的地方,您可以将值从 db 转换为这样的数组
$caste_array = explode(",",$row->caste_id);
希望这有帮助
关于php - 使用复选框值进行sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832454/