我正在研究评估项目,所以我查看问题,每个问题都有多个答案。动态命名的问题的答案,我的问题是我不知道如何从这个动态命名变量中提取数据这里的代码示例:
<input type="hidden" name="question_id[]" value="<?php echo $id; ?>" />
<?php foreach($answers as $answer) { ?>
<input id="optionsVisa" type="radio" name="answer<?php echo $answer['question_id'];?>" value="<?php echo $answer['fraction']; ?>"/> <?php echo $answer['answer']; ?>
<?php } ?>
任何帮助??
答案 0 :(得分:0)
您应该只需使用提交,然后您就可以在$_GET
或$_POST
变量中使用提交,假设您已在输入周围制作了表单
提交后,可以在$_POST
变量echo $_POST['answer2'];
答案 1 :(得分:0)
我创建了一个可以帮助您的示例代码。首先,您需要更改所有相同的名称,因为我们需要对单个选择答案进行分组。
因此,此处输入类型名称为name="optionsVisa"
,ID将为动态id="answer_<?php echo $answer['question_id'];?>"
。
现在我们将在optionVisa
数组中获得一个选定的答案。请查看以下代码。
示例代码
<?php
$answers = array(
'0' => array('question_id' => '1', 'fraction' => '1', 'answer' => 'test answer 1'),
'1' => array('question_id' => '2', 'fraction' => '2', 'answer' => 'test answer 2'),
'2' => array('question_id' => '3', 'fraction' => '3', 'answer' => 'test answer 3')
);
?>
<form id="test" action="" method="post">
<input type="hidden" name="question" value="<?php echo 1; ?>" />
<?php
foreach($answers as $answer) { ?>
<input name="optionsVisa" type="radio" id="answer_<?php echo $answer['question_id'];?>" value="<?php echo $answer['fraction']; ?>"/> <?php echo $answer['answer']; ?>
<?php } ?>
<input type="submit" name="submit" value="submit_form>
</form>
<?php
echo "<pre>";
print_r($_POST);
?>
<强>输出强>
Question Id = 1
Answer Id = 3
Question Id = 1
Answer Id = 3
Array
(
[question] => 1
[optionsVisa] => 3
[submit] => submit_form
)
答案 2 :(得分:0)
我解决了这个问题:
foreach($question_id as $key=>$value){
$answer = isset($_POST['answer_'.$value]) ? $_POST['answer_'.$value] : '';
$query = "insert into
....
}