自动增量$ this-> input-> post()变量名称和输入名称

时间:2015-02-15 00:50:26

标签: php codeigniter increment

我正在创建一个由100个问题组成的Test项目。我正在使用CODEIGNITER HMVC

这是我的视图/显示中的脚本,它生成并自动递增要在控制器中发送的问题选择和问题ID的名称。

<script>

function submit_answer(){
    $.post('<?php echo site_url('iqtest_stud_ans/submit_answer'); ?>',
         {
            <?php
            $i = 100;
            for($c=1;$c<=$i;$c++){
            ?>
            qchoice<?php echo $c; ?>    : $('input[name=qchoice<?php echo $c; ?>]:checked').val(),
            q_id<?php echo $c; ?>       : $('#q_id<?php echo $c; ?>').val(),
            <?php } ?>
            take_no                     : $('#take_no').val(),
         }
    );
}

在我的脚本中我没有任何问题,事情正常。我能够在控制器中发送所有数据。这是我的问题来了。因为我不想让我的生活变得悲惨,所以我想使用for循环,就像我在剧本中一样。

这是我控制器中的代码。

$i=100;
        $q_id101 = $this->input->post('q_id1');
        for($c=1;$c<=$i;$c++){
            ${'q_id' . $c} = $this->input->post('{"qchoice" . $c}');
            ${'choice' . $c} = $this->input->post("{'qchoice' . $c}");
        }//below codes are working.
        $e=100;
        for($d=1;$d<=$e;$d++){
            $data = array(
                'q_id'      => ${'q_id' . $d},
                'answer'    => ${'choice' . $d},
                'stud_no'   => $stud_no,
                'take_no'   => $take_no
                );
            print_r($data);
            $update = $this->mdl_stud_ans->_insert($data);
        }

变量工作正常$ {'q_id'。 $ c}但帖子里面的增量不起作用$ this-&gt; input-&gt; post('{“qchoice”。$ c}');

我的问题是......有没有办法让我在post()中增加输入/字段的名称?

2 个答案:

答案 0 :(得分:0)

我认为应该是这样的

${'q_id' . $c} = $this->input->post('qchoice' . $c);
${'choice' . $c} = $this->input->post('qchoice' . $c);

答案 1 :(得分:0)

感谢Shaiful的帮助。无论如何,这就是我解决它的方式。

$i=100;

    for($c=1;$c<=$i;$c++){
        $varq_id = 'q_id'.$c; //I add this
        $varqchoice = 'qchoice'.$c; //I add this
        ${'q_id' . $c} = $this->input->post($varq_id); //and place the variable inside the post().
        ${'choice' . $c} = $this->input->post($varqchoice);
    }

我希望这会有助于其他开发者。

快乐的编码!