Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
matheus.del-re

UPDATE E INSERT VIA ARQUIVO .CSV

Recommended Posts

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á;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

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

Visitante
Responder

×   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.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...