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

Fazer um Loader csv somente novos registros


F4b1nh0

Pergunta

Boa noite!

Criei um loader csv usando php e MySql usando o fgetcsv e funciona normal porém queria fazer o insert somente dos registros novos.

Tem como na mesma query ele fazer a verificacão antes de inserir o registro ou só é possível em queries diferentes?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Em 05/07/2017 at 19:05, lowys disse:

Olá!

Muito provavelmente!

Como foi feita a query de inserção atual?

opa, desculpa a demora em responder.

 

Meu código está assim:

//pega arquivo csv e armazena no banco
$filename = $_FILES['arquivocsv2']["tmp_name"];
$abraArq = fopen($filename, "r");
while(($row = fgetcsv($abraArq,2048,";"))!==FALSE) {

//query para insert na tabela relatorio
if ($radio == 'Antigo') {$sql = "insert into divisao_ced (CED, Data_Criacao, Data_Etapa_Atual, Data_de_Fechamento, SLA, Etapa, Descricao, Demandante, Regional_do_Demandante, 
                                 FILA, FRM_NUM_CNPJ, FRM_DSC_RAZAO_SOCIAL, FRM_COD_CANAL_TXT, FRM_COD_REGIONAL_TXT, FRM_COD_TIPO_CONTRATO_TXT,	
		                         FRM_DSC_NOME_GN, FRM_DSC_OBSERVACAO, Responsavel_err, id_responsavel) values('".utf8_encode(addslashes($row[0]))."',
								 '".utf8_encode(addslashes($row[1]))."','".utf8_encode($row[2])."','".utf8_encode(addslashes($row[3]))."',
								 '".utf8_encode(addslashes($row[4]))."','".utf8_encode(addslashes($row[5]))."','".utf8_encode(addslashes($row[6]))."',
                                 '".utf8_encode(addslashes($row[7]))."','".utf8_encode(addslashes($row[8]))."','".utf8_encode(addslashes($row[9]))."',
								 '".utf8_encode(addslashes($row[10]))."','".utf8_encode(addslashes($row[11]))."','".utf8_encode(addslashes($row[12]))."',
								 '".utf8_encode(addslashes($row[13]))."','".utf8_encode(addslashes($row[14]))."','".utf8_encode(addslashes($row[15]))."',
'".utf8_encode(addslashes($row[16]))."','".utf8_encode(addslashes($row[17]))."','".utf8_encode(addslashes($i))."')";}
else if ($radio == 'Data_Atual'){$sql = "insert into divisao_ced_novos (CED, Data_Criacao, Data_Etapa_Atual, Data_de_Fechamento, SLA, Etapa, Descricao, Demandante, Regional_do_Demandante, 
                                 FILA, FRM_NUM_CNPJ, FRM_DSC_RAZAO_SOCIAL, FRM_COD_CANAL_TXT, FRM_COD_REGIONAL_TXT, FRM_COD_TIPO_CONTRATO_TXT,	
		                         FRM_DSC_NOME_GN, FRM_DSC_OBSERVACAO, Responsavel_err, id_responsavel) values('".utf8_encode(addslashes($row[0]))."',
								 '".utf8_encode(addslashes($row[1]))."','".utf8_encode($row[2])."','".utf8_encode(addslashes($row[3]))."',
								 '".utf8_encode(addslashes($row[4]))."','".utf8_encode(addslashes($row[5]))."','".utf8_encode(addslashes($row[6]))."',
                                 '".utf8_encode(addslashes($row[7]))."','".utf8_encode(addslashes($row[8]))."','".utf8_encode(addslashes($row[9]))."',
								 '".utf8_encode(addslashes($row[10]))."','".utf8_encode(addslashes($row[11]))."','".utf8_encode(addslashes($row[12]))."',
								 '".utf8_encode(addslashes($row[13]))."','".utf8_encode(addslashes($row[14]))."','".utf8_encode(addslashes($row[15]))."',
'".utf8_encode(addslashes($row[16]))."','".utf8_encode(addslashes($row[17]))."','".utf8_encode(addslashes($i))."')";}
$i = $i + 1;

if ($i > 7) {$i = 0;}
//executa a inserção
$insert = mysqli_query($conexao,$sql) or die(mysqli_errno($conexao));}

e para cada insert que ele faz, tenho um contador que ganha + 1

Eu queria além de verificar se o registro já exista, o contador só conte se o registro foi inserido.

Editado por F4b1nh0
Link para o comentário
Compartilhar em outros sites

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