使用Codeigniter进行多项选择测验

时间:2016-12-11 14:07:21

标签: mysql sql codeigniter-3

这个项目有两个表。问题表和答案表。 我希望问题表中的question_id feild值与插入到Answers表中的每个选项相同,并带有另一个字段名称question_id

但每次我这样做,我都得到了这些结果:

Questions Table

Answers Table

正如你所看到的那样,question_ids不一样,而不是我想要的。

这是我的代码: 公共函数insert_correct_ans($ answer1,$ answer2,$ answer3,$ answer4)     {

$ id = $ this-> db-> insert_id();

    $this->db->query("INSERT INTO answers(
                                            question_id, 
                                            answer, 
                                            correct) 
                                   VALUES(
                                   '$lastID',
                                   '$answer1', '1')");

    $this->db->query("INSERT INTO answers(
                                            question_id, 
                                            answer, 
                                            correct) 
                                   VALUES(
                                   '$lastID',
                                   '$answer2', '0')");

    $this->db->query("INSERT INTO 
                                    answers(
                                            question_id, 
                                            answer, 
                                            correct) 
                                   VALUES(
                                        '$lastID',
                                        '$answer3', '0')");

    $this->db->query("INSERT INTO 
                                    answers(
                                            question_id, 
                                            answer, 
                                            correct)
                                   VALUES(
                                   '$lastID',
                                   '$answer4', '0')");
}

1 个答案:

答案 0 :(得分:0)

在调用函数insert_correct_ans()时也传递问题id.So然后复制以下代码。重复数据写入插入查询重复使数组和用户CI数据库插入函数。

              <?php
      public function insert_correct_ans($que_id,$answer1, $answer2, $answer3, $answer4)
           {
            $data=array(
              array(
                'question_id'=>$que_id,
                'answer'=>$answer1,
                'correct'=>'1'
                ),
              array(
                'question_id'=>$que_id,
                'answer'=>$answer2,
                'correct'=>'0'
                ),
              array(
                'question_id'=>$que_id,
                'answer'=>$answer3,
                'correct'=>'0'
                ),
             array(
                'question_id'=>$que_id,
                'answer'=>$answer4,
                'correct'=>'0'
                )
              );
            }
            $this->db->insert('answers',$data);
          ?>