首页 > 解决方案 > 如何使用 codigniter 在表中插入字符串和数组值

问题描述

我有一个多维数组,该多维数组有四个数组,每个数组有两个字符串值,应该插入表的列名。

但我的问题是,一个数组的四个数组有两个数组,一个数组,一个数组有两个字符串值,所以我的问题是如何插入多维数组的值

Array
(
    [0] => Array
        (
            [stu_ans_id] => 1
            [stu_answer] => True
        )

    [1] => Array
        (
            [stu_ans_id] => 2
            [stu_answer] => B
        )

    [2] => Array
        (
            [stu_ans_id] => 3
            [stu_answer] => hi
        )

    [3] => Array
        (
            [stu_ans_id] => 4
            [stu_answer] => Array
                (
                    [2] => B
                    [3] => C
                )

        )

)

实际上这四种类型的数组是测验问题的答案,前 3 个数组是文本框和单选按钮,但最后一个数组是复选框值,所以对我来说很复杂,所以请帮助解决这个问题

 public function add_stu_ans()

{

      $id = $values['stu_ans_id'] = $this->input->post('qstn_id');
      $ans =  $values['stu_answer']  =  $this->input->post('ans'); 

      $testArr=array_combine($id,$ans);

      $arr=[];

      foreach ($testArr as $key => $value) 
      {
        $arr[]=array('stu_ans_id'=>$key,'stu_answer'=>$value);
      }


        $this->Common_model->insert_answer('student',$arr);
        $this->session->set_flashdata('message_name' , 'Your Data is Inserted');
        redirect('Quiz/tot_marks');

}

是我的控制器...

public function insert_answer($table, $arr)
    {

        $result = $this->db->insert_batch($table, $arr);
        return $this->db->affected_rows();

    }

这是我的模型

标签: phpsql

解决方案


使用 json_encode php 函数将数组转换为字符串格式并插入到数据库中。


推荐阅读