我有一个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);


我希望这有帮助

10-05 20:34
查看更多