Importar csv para duas tabelas MYSQL - Codeigniter
Olá, com a simples função abaixo, consigo importar dados para uma tabela do mysql.
A questão é que a coluna telefone ficará em outra tabela e da forma que está hoje, só consigo importar para a mesma tabela.
Como posso fazer para importar as colunas de um arquivo csv para uma tabela e a coluna telefone importar para outra tabela ?
public function upload_file(){
$tipo = array('application/vnd.ms-excel','text/plain','text/csv','text/tsv');
if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$tipo)){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
// abre o arquivo csv carregado com o modo somente leitura
$arquivo = fopen($_FILES['file']['tmp_name'], 'r');
// pula a primeira linha
// se o arquivo csv não tiver cabeçalho, apenas comente a próxima linha
fgetcsv($arquivo);
// analisar dados do arquivo csv linha por linha
while(($coluna = fgetcsv($arquivo)) !== FALSE){
// verifica se o membro já existe no banco de dados com o mesmo email
$result = $this->db->get_where("tb_pessoa", array("email"=>$coluna[1]))->result();
if(count($result) > 0){
// atualiza os dados da pessoa
$this->db->update("tb_pessoa", array("nome"=>$coluna[0], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4]), array("email"=>$coluna[1]));
}else{
// inserir dados da pessoa no banco de dados
$this->db->insert("tb_pessoa", array("nome"=>$coluna[0], "email"=>$coluna[1], "telefone"=>$coluna[2], "dt_inclusao"=>$coluna[3], "status"=>$coluna[4]));
}
}
//close opened csv file
fclose($arquivo);
$qstring["status"] = 'Success';
}else{
$qstring["status"] = 'Error';
}
}else{
$qstring["status"] = 'Invalid file';
}
$this->load->view('csvToMySQL',$qstring);
}
**tabelas**
tb_pessoa
nome varchar(100) NOT NULL
email varchar(100) NOT NULL
telefone varchar(100) NOT NULL
dt_inclusao timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
status varchar(100) NOT NULL
tb_telefone
telefone varchar(100) NOT NULL
pessoa_id int(11) NOT NULL
Discussão (4)
Carregando comentários...