确定具有相同名称的多个选择框之间的差异

时间:2013-12-30 21:27:45

标签: php forms

也许我想做的事情是不可能的,这是有道理的。但是,我不知道如何能够实现我想要的目标。

我有一个对话系统设置,所有工作都很方便。但是,我想允许“管理员”将对话的每个成员的角色更改为“主持人”和“成员”。我有一个表单设置,但我不知道如何动态设置选择框以应用于该特定成员。

现在,我有一个表,列出每个成员名称,所有成员都包含在表单中,然后是一个旁边的选择框,可以选择切换他们的角色。我给每个选择框命名相同,因为我认为这会返回一些关于如何执行此操作的Google搜索,但由于我特别需要更新该特定成员的数据库,我不知道它是如何工作的。

<select id="' . $convorolesrow['id'] . '" name="convomemrole">
<option value="Moderator">Moderator</option>
<option value="Member">Member</option>
</select>

如您所见,每个选择框都具有相同的名称“convomemrole”和一个不同的ID,以有望识别两者之间的差异,但就任何Google搜索引导我而言,这都没有意义。

这可能吗?如果没有,接近这个的正确方法是什么。

一些可能的方法是对名称进行排列,因此使用foreach来执行每个选择框个体,这听起来像是可行的 - 但是我如何识别特定的选择框ID?

2 个答案:

答案 0 :(得分:0)

您可以使用以下名称创建数组:

<select id="' . $convorolesrow['id'] . '" name="convomemrole[]">
<option value="Moderator">Moderator</option>
<option value="Member">Member</option>
</select>

将发布包含这些选择框值的数组。

答案 1 :(得分:0)

php get id from html select

这个Q + A实际上回答了我的问题。

我正在使用数组(我已经知道)从每个选择框中获取所有细节以供使用。我正在设置每个选择框的值。

<select name="convomemrole[]">
<option value="' . $row['id'] . '|Moderator">Moderator</option>
<option value="' . $row['id'] . '|Member">Member</option>
</select>

然后

$convomemrolearray = $_POST['convomemrole'];

foreach($convomemrolearray as $convomemroles) {

$convorolesplit= explode("|", $_POST['convomemroles']);
$convorolesplit[0]; // identifier
$convorolesplit[1]; // role

#myquerieshere

}