我有一个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);
我希望这有帮助