remazela101 Postado Abril 10, 2018 Denunciar Share Postado Abril 10, 2018 Caros amigos Sou um pouco novato nesta parte. Gostaria de fazer uma importação de arquivos .TXT, com uma clausula de importação. Como faço após ter lido um arquivo .TXT Linha a Linha, comparar com o Banco Dados e se tiver o código IMPORTA, caso contrário NÃO IMPORTA. Por exemplo: código existentes.: 101, 201, 301, 401, 501, etc código não existe: 301, 501 Abaixo o código que estou usando. <?php //Variável Passada da Página Anterior $cotacao_cotaIdGet = isset($_GET['cotaId']) ? $_GET['cotaId'] : false; $cotacao_cotaId = isset($_POST['cotaId']) ? $_POST['cotaId'] : $cotacao_cotaIdGet; $cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false; $cotaNumero = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet; //Função para importar Arquivo function Inserir($itens, Pdo $pdo){ $sts = $pdo->prepare("INSERT INTO cotacaoItens(cotaNumImport, codProdClie, cotaQtde, cotaVerTxt, cotaNumero, cotacao_cotaId) VALUES(?,?,?,?,?,?);"); $sts->bindValue(1, $itens[0], PDO::PARAM_STR); $sts->bindValue(2, $itens[1], PDO::PARAM_STR); $sts->bindValue(3, $itens[2], PDO::PARAM_STR); $sts->bindValue(4, $itens[3], PDO::PARAM_STR); $sts->bindValue(5, $itens[4], PDO::PARAM_STR); $sts->bindValue(6, $itens[5], PDO::PARAM_STR); $sts->execute(); $sts->closeCursor(); $sts = NULL; } //Ler o arquivo .TXT if (!empty($_FILES['arquivo'])) { //Conexão com o Bco Dados $Pdo = new PDO("mysql:host=localhost; dbname=siscotaweb", "root", ""); //Abre o arquivo TXT $file = fopen($_FILES['arquivo']['tmp_name'], 'r'); while (!feof($file)){ $linha = fgets($file); $itens = explode(';', $linha); $itens[] = '1'; $itens[] = $cotaNumero; $itens[] = $cotacao_cotaId; Inserir($itens, $Pdo); } //Mensagem de Sucesso echo '<div class="alert alert-info alert-dismissible"> <h4>Arquivo Importado com Sucesso!</h4> </div>'; //Redirecionando para Caixa de Enrada do Cliente echo '<meta http-equiv="refresh" content="3, URL=painel.php?exe=admin-cliente/cotacao_itensCota&cotaNumero='.$cotaNumero.'"" />'; } ?> Grato, Renato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 F4b1nh0 Postado Abril 20, 2018 Denunciar Share Postado Abril 20, 2018 Opa...boa tarde! Tb sou iniciante, porém já fiz algo parecido. E no meu caso eu resolvi da seguinte forma: Importei o arquivo txt inteiro em uma tabela temporária. Depois mando executar um delete where o código não exista na outra tabela. E por fim executo um insert na tabela os dados da temporária. Eu achei mais rápido essa solução de importar td do que ler linha por linha e fazer a verificação. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 remazela Postado Maio 6, 2018 Denunciar Share Postado Maio 6, 2018 (editado) Em 20/04/2018 at 14:57, F4b1nh0 disse: Opa...boa tarde! Tb sou iniciante, porém já fiz algo parecido. E no meu caso eu resolvi da seguinte forma: Importei o arquivo txt inteiro em uma tabela temporária. Depois mando executar um delete where o código não exista na outra tabela. E por fim executo um insert na tabela os dados da temporária. Eu achei mais rápido essa solução de importar td do que ler linha por linha e fazer a verificação. Fabio, por favor, poderia me ajudar. Teria como enviar esse exemplo para mim ? Grato. Editado Maio 6, 2018 por remazela Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 remazela Postado Maio 7, 2018 Denunciar Share Postado Maio 7, 2018 Em 20/04/2018 at 14:57, F4b1nh0 disse: Opa...boa tarde! Tb sou iniciante, porém já fiz algo parecido. E no meu caso eu resolvi da seguinte forma: Importei o arquivo txt inteiro em uma tabela temporária. Depois mando executar um delete where o código não exista na outra tabela. E por fim executo um insert na tabela os dados da temporária. Eu achei mais rápido essa solução de importar td do que ler linha por linha e fazer a verificação. Caro Fabinho, poderia me ajudar, por favor. Teria como me enviar por e-mail, como fez a comparação de tabelas e exclusão dos itens que não consta no banco de dados. Meu e-mail: upxmais@gmail.com Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
remazela101
Caros amigos
Sou um pouco novato nesta parte. Gostaria de fazer uma importação de arquivos .TXT, com uma clausula de importação.
Como faço após ter lido um arquivo .TXT Linha a Linha, comparar com o Banco Dados e se tiver o código IMPORTA, caso contrário NÃO IMPORTA.
Por exemplo:
código existentes.: 101, 201, 301, 401, 501, etc
código não existe: 301, 501
Abaixo o código que estou usando.
Grato,
Renato
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.