Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 识别具有相同名称的多个选择框之间的差异_Php_Forms - Fatal编程技术网

Php 识别具有相同名称的多个选择框之间的差异

Php 识别具有相同名称的多个选择框之间的差异,php,forms,Php,Forms,也许我想做的是不可能的,这是有道理的。然而,我不知道如何才能实现我想要的 我已经建立了一个对话系统,一切都很方便。但是,我希望允许“管理员”将对话中每个成员的角色更改为“主持人”和“成员”,或从“主持人”和“成员”更改为“管理员”。我已经设置了一个表单,但我不知道如何动态设置选择框以应用于该特定成员 现在,我有一个表,其中列出了每个成员的名字,所有名字都包装在一个表单中,然后在旁边有一个选择框,可以选择切换他们的角色。我给每个选择框取了相同的名称,因为我认为这会返回一些谷歌搜索,说明如何执行此操

也许我想做的是不可能的,这是有道理的。然而,我不知道如何才能实现我想要的

我已经建立了一个对话系统,一切都很方便。但是,我希望允许“管理员”将对话中每个成员的角色更改为“主持人”和“成员”,或从“主持人”和“成员”更改为“管理员”。我已经设置了一个表单,但我不知道如何动态设置选择框以应用于该特定成员

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

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

调解人
成员
如您所见,每个选择框都有相同的名称“convalmemrole”和不同的ID,希望能够识别两者之间的差异,但就任何谷歌搜索而言,这并没有什么意义

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


一些可能的方法是对名称进行数组,因此使用foreach对每个选择框进行单独的操作,听起来似乎是可行的——但是如何识别特定的选择框ID呢?

您可以在名称中创建一个数组,如:

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

调解人
成员
它将发布包含这些选择框的值的字符串和数组。

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

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

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

在我问题的最后,我已经说过我知道这一点。我只是不知道这会有什么帮助,因为它返回一个包含所有值的数组。。。但是如何“区分”选择框呢。否则它将只是一个选择框,其值与它所连接的成员无关。我认为您无法区分。但它将是多维数组,就像ConvalMemRole[0]将包含第一个一样。。。。有什么帮助吗?嗯,没有,这正是我刚才说的我已经知道的…如果这不是做这件事的方法,我说我不知道还有其他方法,我想知道是否有其他方法。不,没有其他方法。我也搜索了我的一个项目,它不是html的。
$convomemrolearray = $_POST['convomemrole'];

foreach($convomemrolearray as $convomemroles) {

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

#myquerieshere

}