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


Handling a lots of selects (dropdown lists)

比方说,我将用户存储在数据库中,由id(整数主键)标识。所有用户都有一个多选属性,例如在一个网站上的权限(Admin,Member,Administrator等)。我想创建一个php管理页面,在那里我可以为每个用户选择他/她的权限,并在一个页面上选择所有用户(或至少在一个网页上选择更多用户):

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

这样做有效率吗?

如果我打印的下拉列表的name属性设置为记录的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值了

谢谢你的帮助!

您可以输出类似的选择框

<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['']

再次获取所有用户并循环查看他们的ID,然后检查是否有链接到它的post值,或者循环查看所有post值。

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