在php中为每个用户创建2个无线电

时间:2012-11-14 12:11:58

标签: php html mysql forms foreach

我有一个表单,可以根据唯一的名称标签动态打印出名称。 用于回复邀请。每个名称标签可以有多个用户,即夫妇,有孩子的夫妇等。 对于每个名称,都有一个单选按钮,被邀请者可以选择他/她是否来参加聚会(值1 =不来,2 =来)。对于一对夫妇来说,它看起来像这样:

Lady Mary S
I am not coming         - radio - value 1
I am coming             - radio - value 2

Mister Hans S
I am not coming         - radio - value 1
I am coming             - radio - value 2

Child of Mary & Hans S
I am not coming         - radio - value 1
I am coming             - radio - value 2

这些被邀请者中的每一个都有一个用户ID - 我需要使用用户ID的响应。 它的HTML看起来像这样:

<div>
<h1>Lady Mary S</h1>
<label for="no-1">I am not coming</label>
<input type="radio" value="1" id="no-1" name="response[1]" /><br />
<label for="yes-1">I am coming</label> 
<input type="radio" value="2" id="yes-1" name="response[1]" />
<input type="hidden" name="userid[]" value="1" />
</div>

<div>
<h1>Mister Hans S</h1>
<label for="no-2">I am not coming</label>
<input type="radio" value="1" id="no-2" name="response[2]" /><br />
<label for="yes-2">I am coming</label> 
<input type="radio" value="2" id="yes-2" name="response[2]" />
<input type="hidden" name="userid[]" value="2" />
</div>

<div>
<h1>Child of Mary & Hans S</h1>

<label for="no-3">I am not coming</label>
<input type="radio" value="1" id="no-3" name="response[3]" /><br />
<label for="yes-3">I am coming</label> 
<input type="radio" value="2" id="yes-3" name="response[3]" />
<input type="hidden" name="userid[]" value="3" />
</div>

这些名称将从MySQL获取,并为这3个人提供唯一的名称标签,f.x。 MARHAN

这是一个动态表单 - 对于某些名称标签,只有两个被邀请者,而对于其他名称标签,则会有3个或4个等等。

我的问题是我无法找到如何处理发布数据的解决方案,因此我可以确保响应是针对正确的用户ID。

2 个答案:

答案 0 :(得分:2)

你需要的只是

foreach($_POST['response'] as $userid => $value) {
      echo $userid.'-'.$value."<br>";
}

因为您已经有userid in key单选按钮名称name="response[1]"

答案 1 :(得分:0)

只是一个想法:如何使每个输入的值像'answer-userId'。 e.g:

<input type="radio" value="1-333" id="no-3" name="response[]" /><br />

然后你可以用' - '分割php中的发布值,得到答案(1)和用户ID(333)。