如何在一次单击中将数据插入到两个mysql表中?

wko9yo5t  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(336)

如何一次单击就将数据插入到两个mysql表中?
型号代码

public function insertCSV($data)                                                                                                                    
{                                                            
    $this->db->insert('question_tb', $data);
    $this->db->insert('option_tb', $data);
    return TRUE;
}

控制器代码

public function import(){
    if (isset($_POST["import"])) {
        $this->load->model('Welcome_model', 'welcome');
        $exam_id = $this->welcome->get_max_exam_id();
        $filename = $_FILES["file"]["tmp_name"];

        if ($_FILES["file"]["size"] > 0) {

            $file = fopen($filename, "r");
            while (($importdata = fgetcsv($file, 10000, ",")) !== false) {

                $data = [
                    'question' => $importdata[0],
                    'answer'  => $importdata[1],
                    'exam_id' => $exam_id,
                ];

                while (($importdata = fgetcsv($file, 10000, ",")) !== false) {
                    $data = [
                        'option1' => $importdata[2],
                        'option2' => $importdata[3],
                        'option3' => $importdata[4],
                        'exam_id' => $exam_id,
                    ];

                    $insert = $this->welcome->insertCSV($data);
                }
                //fclose($file);

                fclose($file);
                redirect('upload/index');
            }
        }
    }
}
wrrgggsh

wrrgggsh1#

有两种选择
在模型中创建两个函数并在控制器中调用这些函数。
型号:

function a($data1){
   $this->db->insert('table1', $data1);
}

function b($data2){
   $this->db->insert('table2', $data2);
}

控制器:

function insert(){
  $this->model_name->a($data1);
  $this->model_name->b($data2);
}

在模型中创建一个函数并传递两个数组数据
型号:

function a($data1, $data2){
   $this->db->insert('table1', $data1);
   $this->db->insert('table2', $data2);
}

控制器:

function insert(){
  $this->model_name->a($data1, $data2);
}

相关问题