如何在PHP中检索Selected复选框名称(Multiple Selected)?

时间:2010-01-10 21:06:32

标签: php html

我有多个使用循环生成的复选框。提交表单后,我想获取所选单个复选框的名称,以将其作为id存储在数据库中。请帮帮我..提前致谢

我用于在循环中生成复选框的代码:

while($arrayRow = mysql_fetch_assoc($rsrcResult)) 
  {
      $strA = $arrayRow["area_id"];
  $strB = $arrayRow["area_name"];
      echo "<div class=\"area_check\"><input type=\"checkbox\" id=\"covarea[] \" />$strB</input></div>";
  }

我用来获取名称的代码没有用。它只返回复选框的状态为ON

 while (list ($key,$val) = @each ($box)) 
{
  $aid=$val;
  echo $aid;
}

2 个答案:

答案 0 :(得分:2)

如果复选框标记为

<input type="checkbox" name="food[]" value="Cheese">
<input type="checkbox" name="food[]" value="Ham">

然后,从$ _POST ['food']

中将任何选中的值作为数组进行访问

显然有一个代码示例,正如@rajasekar指出的那样,推荐一种方法会更容易

答案 1 :(得分:0)

  • 每个元素的 id 是可选的,但应该/必须是唯一的。
  • 表单元素必须具有名称属性,否则将不会提交(使用“covarea []”作为所有chexbox的名称。
  • 复选框必须具有属性,否则它们将以“ on ”的值提交。
  • 您必须确保 $ strA $ strB 没有HTML元字符,否则您生成的HTML将无效。
  • 您的示例在 id 中的“[]”之后有一个空格,顺便说一句。

也许是这样。

$n = 0;
while($arrayRow = mysql_fetch_assoc($rsrcResult)) 
{
     $strA = $arrayRow["area_id"];
     $strB = $arrayRow["area_name"];
     $n++;
     echo "<div class=\"area_check\"><input type=\"checkbox\" id=\"covarea${n}\" name=\"covarea[]\" value=\"${strA}\"/>$strB</input></div>";
}