Arrays 插入多行编码点火器

Arrays 插入多行编码点火器,arrays,codeigniter,Arrays,Codeigniter,有人能帮我吗,我正在尝试使用codeigniter以一种形式在两个表中插入数据。但是,我的问题是,数据没有正确插入。可能是因为我的数组,因为我想用动态添加输入插入数据。请帮帮我 Table questions_bank: q_id int(11) AutoIncrement id int(11) type varchar(100) q_text varchar(200) Table answer: a_id int

有人能帮我吗,我正在尝试使用codeigniter以一种形式在两个表中插入数据。但是,我的问题是,数据没有正确插入。可能是因为我的数组,因为我想用动态添加输入插入数据。请帮帮我

Table questions_bank:
    q_id    int(11) AutoIncrement
    id  int(11)         
    type    varchar(100)
    q_text  varchar(200)

Table answer:
    a_id    int(11) AutoIncrement
    id  int(11) 
    q_id    int(11)     
    a_text       varchar
我的控制器:question.php

function questions_data() 
  {
    $data = array(
    'q_id' => $this->input->post('q_id'),
    'id' => $this->input->post('id'),
    'type' => $this->input->post('type'),
    'q_text' => $this->input->post('q_text')
     );

    $data_answer = array(
     //'q_id' => $this->input->post('q_id'),
     'id' => $this->input->post('id'),
      'a_text'    => $this->input->post('a_text[]'),
    );

    $this->questions_data->questions($data,$data_answer);
    redirect('question/insert');
    }
模型:questions\u data.php

public function questions()
 {

  $data=array(
    'q_id'=>$this->input->post('q_id'),
    'id'=>$this->input->post('id'),
    'type'=>$this->input->post('type'),
    'q_text'=>$this->input->post('q_text'),
  );

   $data_answer = array(
   'id' => $this->input->post('id'),
  );   

  $this->db->insert('questions_bank',$data);
  $data_answer['q_id'] = $this->db->insert_id();
 $this->db->insert('answer',$data_answer);

  foreach($_POST['a_text1'] as $a_text1)
  {

    $this->db->insert('answer',$a_text1);
  }
  }
我的观点:insert.php

    <label class="col-sm-2 control-label">Course</label>
                        <div class="col-md-4">
                        <?php
                        $query = "SELECT * FROM course"; $result = mysql_query($query); ?> 
                        <select name="id" class="form-control m-b"><?php while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> 
                        <option value=" <?php echo $line['id'];?> "> <?php echo $line['Topics'];?></option> <?php } ?>
                        </select>
                        </div>
                        </div>

                        <div class="line line-dashed b-b line-lg pull-in"></div>
                        <div class="form-group">
                        <label class="col-sm-2 control-label">Type</label>
                        <div class="col-md-4">
                        <select name="type" class="form-control m-b">
                        <option value="Easy">Easy</option>
                        <option value="Intermidiate">Intermidiate</option>
                        <option value="Hard">Hard</option>
                        </select>
                        </div>
                        </div>

                        <div class="line line-dashed b-b line-lg pull-in"></div>
                        <div class="form-group">
                        <label class="col-sm-2 control-label">Question</label>
                        <div class="col-md-5">
                        <input type="text" name="q_text" id="q_text" class="form-control" />
                        </div>
                        </div>

                        <div id="box">
                        <div class="line line-dashed b-b line-lg pull-in"></div>
                        <div class="form-group">
                        <label class="col-sm-2 control-label">Answer</label>
                        <div class="col-md-5">
                        <input name="a_text1[' + i +'][a_text]" type="text" id="name" class="form-control"></div>


                        <img src="<?php echo base_url(); ?>assets/add/add.png" width="32" height="32" border="0" align="top" class="add" id="add" />
                        </div></div></div>

                       <button type="submit" class="btn btn-sm btn-default">Submit</button
课程
类型
容易的
中间
坚固的
问题
答复
资产/add/add.png“width=“32”height=“32”border=“0”align=“top”class=“add”id=“add”/

SubmitYou在调用$this->questions\u data->questions()时不应传递任何参数,也不需要在Controllery中声明$data和$data\u数组您的表单课程字段显示为name
id
,您正在手动传递
$this->input->post('id'))
到更新数组,其中课程id被存储为表的id。你似乎对你正在做的事情感到困惑。你能分享你的DB模式吗???@AngryCoder是的,你是对的,我现在真的对codeigniter感到困惑。我的DB表问题库:q_id int(11)自动增量id int(11)type varchar(100)q_text varchar(200)表格回答:a_id int(11)自动递增id int(11)q_id int(11)a_text varchart谢谢你的帮助,实际上我需要使用a_text1,因为我想使用添加动态输入插入我的特定数据,我已经编辑了我的问题,请看。对不起,不协调:)@rahul sharma
<script>

$(document).ready(function(){

  $('#add').click(function(){

    var inp = $('#box');


    var i = $('input').size() ;

    $('<div id="box' + i +'"><div class="form-group"><label class="col-sm-2 control-label">Answer</label><div class="col-md-5"><input type="text" id="name' + i+ '" class="form-control" name="a_text1[' + i +'][a_text]" /></div><img src="<?php echo base_url(); ?>assets/add/remove.png" align="top" class="add" id="remove" /></div></div></div>').appendTo(inp);

    i++;


  });
//Note: Please change your model function with the below function and when the form is submitted the form values will be posted to controller not to the model you to just pass it to the model function that all.
public function questions($data,$data_answer)
{

  $this->db->insert('questions_bank',$data);
  $data_answer['q_id'] = $this->db->insert_id();
  $this->db->insert('answer',$data_answer);
  //Note: For loop case just pass the array from the controller and use it in model 
  //foreach($_POST['a_text1'] as $a_text1)
  //{

    //$this->db->insert('answer',$a_text1);
  //}
}