как многократно обновлять данные на codeigniter - PullRequest
0 голосов
/ 26 января 2020

как принять значение автоинкремента для публикации. здесь я успешно вставляю две таблицы, создаю условие после вставки, затем обновляю данные. У меня есть две таблицы, первая таблица 'service' и вторая таблица 'customer_address'

таблица customer_address, в качестве автоинкремента имеет id_address.

при вставке данных в две таблицы, я хочу получить Значение id_address в таблице customer_address. быть обновленным до таблицы 'service'.

 public function import () {
     include APPPATH.
     'third_party/PHPExcel/PHPExcel.php';
     $excelreader = new PHPExcel_Reader_Excel2007();
     $loadexcel = $excelreader-> load('excel/'.$this-> filename.
         '.xlsx'); //here I am loading data from an excel file for import
     $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true, true);
     $data = array();
     $numrow = 1;
     foreach($sheet as $row) {

         $a['acak'] = $this-> M_order-> bikin_kode();
         $resi = $a['acak'];
         $key1 = $this-> M_order-> db_cek($row['C']);
         $origin = $key1['id_origin'];
         if ($numrow > 1) {
             array_push($data, array(
                 'tracking_number' => $resi,
                 'id_cs' => $row['B'],
                 'id_origin' => $origin,
                 'id_muat' => $row['D'],
             ));

             $datax = array(
                 //'id_alamat'           => this autoincrement
                 'id_cs' => $row['AM'],
                 'nama' => $row['AN'],
             );
             $this->db-> insert('customer_address', $datax);

             // this update data to table service //
             //here I am looping, to retrieve the address_id which was just at POST,
             $isi = $this->db-> select('id_alamat')-> from('customer_address')->where('id_kota', $kot)->get()-> result();
             foreach($sheet as $value) {
                 $hsl = array(
                     'id_muat' => $value - > id_alamat,
                 );

                 $this->db->update('service', $hsl);
             }
         }
         $numrow++;
     }
     $this->M_order->insert_multiple($data); //to table service
 }

, когда я обновил таблицу 'service', я обновил все. как обновить только на основе ввода данных?

1 Ответ

0 голосов
/ 26 января 2020

Вы должны отправить id_alamat из представления вашему контроллеру и создать уникальный код, не используя только автоинкремент. например:

   public function import () {
         include APPPATH.
         'third_party/PHPExcel/PHPExcel.php';
         $excelreader = new PHPExcel_Reader_Excel2007();
         $loadexcel = $excelreader-> load('excel/'.$this-> filename.
             '.xlsx'); //here I am loading data from an excel file for import
         $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true, true);
         $data = array();
         $numrow = 1;
         foreach($sheet as $row) {

             $a['acak'] = $this-> M_order-> bikin_kode();
             $resi = $a['acak'];
             $key1 = $this-> M_order-> db_cek($row['C']);
             $origin = $key1['id_origin'];
             if ($numrow > 1) {
                 array_push($data, array(
                     'tracking_number' => $resi,
                     'id_cs' => $row['B'],
                     'id_origin' => $origin,
                     'id_muat' => $row['D'],
                 ));

                 $datax = array(
                     'id_alamat' => $row['id_alamat'],
                     'id_cs' => $row['AM'],
                     'nama' => $row['AN'],
                 );
                 $this->db-> insert('customer_address', $datax);

                 // this update data to table service //
                 //here I am looping, to retrieve the address_id which was just at POST,
                 $isi = $this->db->select('id_alamat')->from('customer_address')->where('id_kota', $kot)->get()-> result();
                //change $sheet to $isi   
                 foreach($isi as $value) {
                     $hsl = array(
                         'id_muat' => $value->id_alamat,
                     );

                     $this->db->update('service', $hsl);
                 }
             }
             $numrow++;
         }
         $this->M_order->insert_multiple($data); //to table service
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...