Как я могу вставить данные в две таблицы mysql одним щелчком мыши?

Как я могу вставить данные в две таблицы 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');
            }
        }
    }
}

В чем проблема, которую вы видите? Что не работает? Пожалуйста, добавьте дополнительную информацию к исходному вопросу.

Alex 10.09.2018 10:26

Вам нужно добавить второе соединение mysql. Вы можете сослаться на этот stackoverflow.com/q/634291/685060

lighter 10.09.2018 10:30

данные вставляются только в question_tb (таблица), но я хочу вставить данные в question_tb (таблица) и answer_tb (таблица) одним щелчком мыши после загрузки файла .csv,

shubham 10.09.2018 10:30

Пожалуйста, задавайте вопросы так, как их могут понять другие люди. Какую ошибку вы видите?

Leena Patel 10.09.2018 10:34
1
4
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть два варианта

  1. Создайте две функции в модели и вызовите их в контроллере.

Модель:

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);
}
  1. Создайте функцию в модели и передайте данные двух массивов

Модель:

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

Контроллер:

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

Другие вопросы по теме