php - 将数据库中的 radio 值多个数据 codeigniter 插入一行?

标签 php mysql codeigniter codeigniter-2

我有一个在线测验项目,我希望答案像这样保存在数据库中

+-----------+-------------+---------+-------------+
| id_answer | id_student  | id_kuis |   answer    |
+-----------+-------------+---------+-------------+
|         1 | 99999874465 |       7 | A,B,D,A,C,B |
+-----------+-------------+---------+-------------+

这个测验是选择题。那么我怎样才能像那样插入答案的数据。

这是我的看法

 <?php echo form_open('c_kuis/addKuisAnswer',$atribut); ?>
                        <?php foreach($soalPG as $row){?>
                        <?php $jawab_array = array($row->pil_a,$row->pil_b,$row->pil_c,$row->pil_d);?>
                        <p><?=$row->no_soal?>.<?=$row->soal?></p>
                        <input type="hidden"name="id_soal<?=$row->id_soal_pg?>" value="<?=$row->id_soal_pg?>"></input>
                        <input type="radio" name="jawaban<?=$row->no_soal?>" value="A"> A. <?=$jawab_array[0]?></input><br>
                        <input type="radio" name="jawaban<?=$row->no_soal?>" value="B"> B. <?=$jawab_array[1]?></input><br>
                        <input type="radio" name="jawaban<?=$row->no_soal?>" value="C"> C. <?=$jawab_array[2]?></input><br>
                        <input type="radio" name="jawaban<?=$row->no_soal?>" value="D"> D. <?=$jawab_array[3]?></input><br>
                        <br><br>
                    <?php } ?>
                    <input type="hidden" name="kuis_id" value="<?php echo $kuisPG->id_ks;?>"></input>
                    <button class="btn btn-primary submit" id= "submit" type="submit">Submit</button>
                    <?php echo form_close(); ?>
                    </div>

这是我的 Controller

public function addKuisAnswer(){
        $kuis_id = $_POST['kuis_id'];
        $id_user = $this->session->userdata('data_user')->no_id;
        $i=1;
        while(isset($_POST['jawaban'.$i]))
         {
            $answer = $_POST['jawaban'.$i];
         }
        $this->load->model('m_kuis');
        $this->m_kuis->answer_PG($id_user,$kuis_id,$answer);
         echo " <script>
                        alert('answer saved!');
                        history.go(-2);
                        </script>"; 

    }

我如何编辑我的 Controller 以输入上面示例表中的数据?

最佳答案

我想这可能对你有帮助

public function addKuisAnswer(){
    $kuis_id = $_POST['kuis_id'];
    $id_user = $this->session->userdata('data_user')->no_id;
    $i=1;
    while(isset($_POST['jawaban'.$i]))
     {
       if($i == 1)
         {
           $answer = $_POST['jawaban'.$i];
          }
        else{
        $answer. =','. $_POST['jawaban'.$i];
       }
      $i++;
     }
    $this->load->model('m_kuis');
    $this->m_kuis->answer_PG($id_user,$kuis_id,$answer);
     echo " <script>
                    alert('answer saved!');
                    history.go(-2);
                    </script>"; 

}

我们有另一种解决方案,使用explodeimplode

while(isset($_POST['jawaban'.$i]))
{
     $answer_array[] = $_POST['jawaban'.$i];

     $i++;
}
$answer = implode(',',$answer_array);

关于php - 将数据库中的 radio 值多个数据 codeigniter 插入一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44235172/

相关文章:

javascript - 我可以使用 JavaScript 请求网页,然后将其按原样发送到服务器以进行进一步分析吗?

php - 如何从 symfony Controller 抛出 400 错误请求?

javascript - 打开一个模态(在 Codeigniter 中),从依赖于 php var 的 URL 加载(在 iframe 中)内容

mysql - Active Record (MYSQL) - 从多个列中选择不同的 id

MySQL 字符串和连接

codeigniter 事件记录获取最后 10 条记录并排序 ASC

php - (CodeIgniter 查询生成器)即使插入过程在后台运行良好,我也收到数据库插入错误

PHP正则表达式在mysql中检查名称包含重音字母并且名称长度大于5

php - 通过 PHP 从字符串中删除特定的 XML 标签

php - 寻找一种干净、高效的方法来将一组数据与已知模式进行匹配