F4b1nh0 Postado Julho 4, 2017 Denunciar Share Postado Julho 4, 2017 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Julho 5, 2017 Denunciar Share Postado Julho 5, 2017 Olá! Muito provavelmente! Como foi feita a query de inserção atual? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 F4b1nh0 Postado Julho 7, 2017 Autor Denunciar Share Postado Julho 7, 2017 (editado) 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 Julho 7, 2017 por F4b1nh0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 F4b1nh0 Postado Julho 10, 2017 Autor Denunciar Share Postado Julho 10, 2017 consegui...caso alguém precise, uso o msqli_affected_rows para descobrir qnts registros foram inseridos: $insert = mysqli_query($conexao,$sql); $reg = mysqli_affected_rows($conexao); if ($reg > 0){$i = $i + 1;}} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
F4b1nh0
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
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.