автоинкремент $ this- & gt; input-> post () имя переменной и имя ввода

Я создаю проект Test, который состоит из 100 вопросов. Я использую CODEIGNITER HMVC

Вот сценарий в моем представлении / отображении, который генерирует и автоматически увеличивает имя выбора вопроса и идентификатор вопроса для отправки в контроллер.

<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-> input-> post (‘{«qchoice». $ c}’);

мой вопрос … есть ли способ для меня, чтобы увеличить имя ввода / поля внутри сообщения ()?

0

Решение

Я думаю, что так должно быть

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

Другие решения

Спасибо за помощь, Шайфул. Во всяком случае, так я это решил.

$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);
}

Я надеюсь, что это поможет другим разработчикам.

Удачного кодирования!

0

По вопросам рекламы [email protected]