• 0
Sign in to follow this  
matheus.del-re

UPDATE E INSERT VIA ARQUIVO .CSV

Question

Boa Tarde Galera. 

Vou tentar explicar essa minha grande dúvida da maneira mais clara possível, vamos lá: 

Tenho um sistema que recebe um UPLOAD de um arquivo .CSV e insere corretamente no banco de dados todas as colunas e linhas necessárias, até que um cliente chegou a mim me questionando sobre as pastas que eram duplicadas toda vez que ele fazia um novo UPLOAD("e;Pastas duplicadas seriam digamos 2 ou mais vezes o mesmo CNPJ e CPF inseridos), então oque propus a ele foi: 

Sempre que houver um novo upload ele confere se o CPF/CNPJ já está inserido no banco de dados. 

1º -) Se o CPF/CNPJ não estiver inserido no banco de dados ele vai e criar o INSERT de registros normalmente. 

2º-) Se o CPF/CNPJ já estiver inserido, ele cria um UPDATE nos registros, e faz o UPDATE dos arquivos com esse novo UPLOAD. 

Espero que entendam essa minha duvida.

 

<?php 

include "../_conexao/conexao.php"; 


//Transferir o arquivo 
if (isset($_POST['submit'])) { 
//Importar o arquivo transferido para o banco de dados 
$sql = mysqli_query($conexao,"SELECT cpf_cnpj FROM semaforo"); 

$handle = fopen($_FILES['filename']['tmp_name'], "r"); 
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { 

if ($data[0] != 'situacao_primaria' && !empty($handle)) { 
$import="INSERT into semaforo(id,situacao_primaria,status,data_indicacao,tipo_de_indicacao,tipo_de_distribuicao,categoria,codigo_penumper,nome_do_cliente,cpf_cnpj,negociadores,tipo_pessoa_cliente,uf,cep,municipio_do_cliente,advogado_gestor_interno,numero_operacao,sistema_origem,numero_operacao_origem,familia_do_produto,codigo_produto,nome_do_produto,codigo_agencia,nome_agencia,descricao_segmento,segmento_secundario,descricao_segmento_secundario,situacao_secundaria,data_recebimento,data_credito_liquidacao,valor_da_operacao,valor_transferido_para_creli,valor_da_divida,valor_saldo_contabil,qdt_dias_atraso,nome_da_garantia,ajuizado,codigo_do_ajuizamento,valor_ajuizado,tipo_de_acao,motivo_da_acao,avalista_nome,avalista_cpf_cnpj,avalista_tipo_pessoa,saldo_cm1,recup_judicial_falencia,escob_adm,data_inclusao_escob)values(null,'$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[20]','$data[21]','$data[22]','$data[23]','$data[24]','$data[25]','$data[26]','$data[27]','$data[28]','$data[29]','$data[30]','$data[31]','$data[32]','$data[33]','$data[34]','$data[35]','$data[36]','$data[37]','$data[38]','$data[39]','$data[40]','$data[41]','$data[42]','$data[43]','$data[44]','$data[45]','$data[46]')"; 
mysqli_query($conexao, $import) or die(mysqli_error($conexao)); 



fclose($handle); 

print "<center>Transferir <b>SEMÁFORO</b> por arquivo CSV selecione o arquivo clicando no botão <b>escolher arquivo</b>, e envie clicando no botão <b>upload</b>.</center><br /><br />\n"; 

print "<form enctype='multipart/form-data' action='#' method='post'>"; 

print "<center><input size='50' type='file' name='filename'></center><br /><br />\n"; 

print "<center><input type='submit' name='submit' value='Upload'></center></form>"; 

//Visualizar formulário de transferência 
} else { 

print "<center>Transferir <b>SEMÁFORO</b> por arquivo CSV selecione o arquivo clicando no botão <b>escolher arquivo</b>, e envie clicando no botão <b>upload</b>.</center><br /><br />\n"; 

print "<form enctype='multipart/form-data' action='#' method='post'>"; 

print "<center><input size='50' type='file' name='filename'></center><br /><br />\n"; 

print "<center><input type='submit' name='submit' value='Upload'></center></form>"; 



?> 

Esse é meu arquivo, espero que consigam me ajudar. 

Agradeço desde já;

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this