处理大量选择(下拉列表)

时间:2012-08-17 01:46:44

标签: php html

假设我有用户存储在数据库中,由id(整数主键)标识。所有用户都有多选属性,例如站点上的权限(管理员,成员,管理员等...)。我想创建一个php管理页面,我可以为每个用户选择他/她的权限,以及一个页面上的所有用户(或者在一个页面上至少有更多用户):

Tom   [_privileges_v_]
Ed    [_privileges_v_]
Lisa  [_privileges_v_]
...

如何才能有效率?

如果我打印名称属性设置为记录ID的下拉列表,那我怎么能通过php访问它们?

<select name="12323">
    <option value="admin">admin</option>
    <option value="user">user</option>
    ...
</select>

<select name="4323">
    <option value="admin">admin</option>
    <option value="user">user</option>
    ...
</select> 

然后,在我发布此表单后,我的$_POST数组将包含$_POST["12323"]$_POST["4323"]成员。

我怎么能做出这样的事情,所以我可以迭代$_POST值?

感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:2)

您可以输出这样的选择框

<select name="user_4323">
    <option value="admin">admin</option>
    <option value="user">user</option>
    ...
</select>

<input name="otherinp" value=""/>

如果您的表单有另一个输入....然后在PHP代码中你可以做

foreach($_POST AS $name=>$value) {
  if (strpos($name, "user_")===0){
     $userid = str_replace("user_","",$name);
     //Do st with userid
  }
}

//Work with orther input $_POST['']

答案 1 :(得分:1)

再次获取所有用户并循环访问其ID,然后检查是否有链接到它的帖子值,或者遍历所有帖子值。

foreach($_POST AS $name=>$value) {
  echo "Selection box with name {$name} has value {$value}";
}