Ir para conteúdo
Fórum Script Brasil
  • 0

UPDATE E INSERT VIA ARQUIVO .CSV


matheus.del-re

Pergunta

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

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...