0

您好我正在尝试从表单中显示信息,问题的数量和选择的数量是由用户动态生成的。表格如下:

<input name='questions[]' type='text' value='question 1' /><br/>
   <input name='choice[1-1][]' type='text' value='option 1' /><br/>
   <input name='choice[1-1][]' type='text' value='option 2' /><br/>
   <input name='choice[1-1][]' type='text' value='option 3' /><br/>
<input name='questions[]' type='text' value='question 2' /><br/>
   <input name='choice[2-1][]' type='text' value='option 1' /><br/>
   <input name='choice[2-1][]' type='text' value='option 2' /><br/>
   <input name='choice[2-1][]' type='text' value='option 3' /><br/>

ETC...

我在创建生成表单的代码方面没有问题,我的问题在于显示用户放入表单的信息。

到目前为止,我已经尝试使用 foreach 循环来显示问题,然后使用另一个 foreach 循环来显示选择。我也尝试过使用 count() 然后使用 for 循环来计算选择的数量并以这种方式输出它们,但没有成功。

我的问题是,当我尝试显示选项时,它们都在显示下一个问题之前显示,然后在脚本移动到下一个问题之前再次显示所有选项,依此类推。

4

1 回答 1

0

您的预期结果不是很清楚,但这是我认为您想要做的事情的一个想法。

$i=1;
foreach ($questions as $question){
echo $question;
echo "<br />";
foreach($choice[$i.'-1'] as $choices){
echo '-'.$choices.'<br />';
}
echo "<br />";
$i++;
}

根据您的<form>代码,当它发布时,您将拥有如下数组 -

$questions = array('question 1', 'question 2');
$choice['1-1']= array('option 1','option 2','option 3');
$choice['2-1']= array('option 1','option 2','option 3');

所以foreach在这些数组上使用,你会得到 -

question 1
-option 1
-option 2
-option 3

question 2
-option 1
-option 2
-option 3

您可以在 - http://phpfiddle.org/main/code/i4f-k7w看到一个 phpfiddle

于 2012-12-04T22:03:09.157 回答