使用php从动态命名变量中获取值

时间:2016-04-13 06:43:09

标签: php html mysql

我正在研究评估项目,所以我查看问题,每个问题都有多个答案。动态命名的问题的答案,我的问题是我不知道如何从这个动态命名变量中提取数据这里的代码示例:

    <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 } ?>

任何帮助??

3 个答案:

答案 0 :(得分:0)

您应该只需使用提交,然后您就可以在$_GET$_POST变量中使用提交,假设您已在输入周围制作了表单

提交后,可以在$_POST变量echo $_POST['answer2'];

中找到使用带POST方式的表单提交的值

答案 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
     ....
    }