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

Arquivo de retorno do banco e gravando alguns dados no mysql


a.avelar

Pergunta

Galera, estou tentando pegar um arquivo retorno do banco em TXT, e pegando alguns dados de cada linha e gravando numa tabela a parte, só que não estou conseguindo fazer gravar os dados, aguem poderias me ajudar.

*******************************

//Incluir a conexao com BD
include_once("conexao.php");

//Receber os dados do formulário
//$arquivo = $_FILES['arquivo'];
//var_dump($arquivo);
$arquivo_tmp = $_FILES['arquivo']['tmp_name'];

//ler todo o arquivo para um array
$dados = file($arquivo_tmp);
//var_dump($dados);

                    $line = fgets($dados);

                   for($x=0; $x<0; $x++) {
                        $line = fgets($dados);
                    }
                    $ArrayRetornogru = array();
                    
                    while ($line = fgets($dados)) {
                                
                            echo "while $line";
                            $data_vencto = substr($line, 56,8);
                            $data_pago = substr($line, 101,8);
                            $valor          = substr($line, 122,4);
                            $cpf  = substr($line, 256,11);
                            // captar as 3 variaveis e fazer a busca das inscricoes pelo cpf data e valor

                        $nbr_cpf = $cpf;

                        $parte_um     = substr($nbr_cpf, 0, 3);
                        $parte_dois   = substr($nbr_cpf, 3, 3);
                        $parte_tres   = substr($nbr_cpf, 6, 3);
                        $parte_quatro = substr($nbr_cpf, 9, 2);

                        $monta_cpf = "$parte_um.$parte_dois.$parte_tres-$parte_quatro";

                        echo $monta_cpf;

                         $ArrayRetornogru[] = $monta_cpf;
                             
                                echo "<pre>";
                                    print_r($ArrayRetornogru);
                                echo "</pre>";
                                echo "TESTE";
                                
                    }
                    fclose($dados);
                    print_r($ArrayRetornogru);
                    echo "teste 2";
                    break;
                    
                    
foreach($dados as $linha){
    $linha = trim($linha);
    $valor = explode(',', $linha);
    var_dump($valor);
    
    $data_vencto = $ArrayRetornogru[0];
    $data_pago = $ArrayRetornogru[1];
    $valor = $ArrayRetornogru[2];
    $cpf = $ArrayRetornogru[3];
    
    $result_usuario = "INSERT INTO gru_concurso (data_vencto, data_pago, valor, cpf) VALUES ('$data_vencto', '$data_pago', '$valor', '$cpf')";
    
    $resultado_usuario = mysqli_query($conn, $result_usuario);    
}
$_SESSION['msg'] = "<p style='color: green;'>Carregado os dados com sucesso!</p>";
header("Location: index.php");


*******************************************

Agradeço Galera !!!

 

 

10 minutos atrás, a.avelar disse:

Galera, estou tentando pegar um arquivo retorno do banco em TXT, e pegando alguns dados de cada linha e gravando numa tabela a parte, só que não estou conseguindo fazer gravar os dados, aguem poderias me ajudar.

*******************************

//Incluir a conexao com BD
include_once("conexao.php");

//Receber os dados do formulário
//$arquivo = $_FILES['arquivo'];
//var_dump($arquivo);
$arquivo_tmp = $_FILES['arquivo']['tmp_name'];

//ler todo o arquivo para um array
$dados = file($arquivo_tmp);
//var_dump($dados);

                    $line = fgets($dados);

                   for($x=0; $x<0; $x++) {
                        $line = fgets($dados);
                    }
                    $ArrayRetornogru = array();
                    
                    while ($line = fgets($dados)) {
                                
                            echo "while $line";
                            $data_vencto = substr($line, 56,8);
                            $data_pago = substr($line, 101,8);
                            $valor          = substr($line, 122,4);
                            $cpf  = substr($line, 256,11);
                            // captar as 3 variaveis e fazer a busca das inscricoes pelo cpf data e valor

                        $nbr_cpf = $cpf;

                        $parte_um     = substr($nbr_cpf, 0, 3);
                        $parte_dois   = substr($nbr_cpf, 3, 3);
                        $parte_tres   = substr($nbr_cpf, 6, 3);
                        $parte_quatro = substr($nbr_cpf, 9, 2);

                        $monta_cpf = "$parte_um.$parte_dois.$parte_tres-$parte_quatro";

                        echo $monta_cpf;

                         $ArrayRetornogru[] = $monta_cpf;
                             
                                echo "<pre>";
                                    print_r($ArrayRetornogru);
                                echo "</pre>";
                                echo "TESTE";
                                
                    }
                    fclose($dados);
                    print_r($ArrayRetornogru);
                    echo "teste 2";
                    break;
                    
                    
foreach($dados as $linha){
    $linha = trim($linha);
    $valor = explode(',', $linha);
    var_dump($valor);
    
    $data_vencto = $ArrayRetornogru[0];
    $data_pago = $ArrayRetornogru[1];
    $valor = $ArrayRetornogru[2];
    $cpf = $ArrayRetornogru[3];
    
    $result_usuario = "INSERT INTO gru_concurso (data_vencto, data_pago, valor, cpf) VALUES ('$data_vencto', '$data_pago', '$valor', '$cpf')";
    
    $resultado_usuario = mysqli_query($conn, $result_usuario);    
}
$_SESSION['msg'] = "<p style='color: green;'>Carregado os dados com sucesso!</p>";
header("Location: index.php");


*******************************************

Agradeço Galera !!!

 

 

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Isso deve resolver, ao usar o file() você não precisa do fgets()

<?php
//Incluir a conexao com BD
include_once("conexao.php");
echo '<pre>';

//Receber os dados do formulário
$arquivo_tmp = $_FILES['arquivo']['tmp_name'];
var_dump($arquivo_tmp);

//ler todo o arquivo para um array
$lines = file($arquivo_tmp);
var_dump($lines);

$ArrayRetornogru = array();
foreach ($lines as $line) {
	$data_vencto = substr($line, 56,8);
	$data_pago = substr($line, 101,8);
	$valor = substr($line, 122,4);
	$cpf = substr($line, 256,11);

	// captar as 3 variaveis e fazer a busca das inscricoes pelo cpf data e valor
	$parte_um     = substr($cpf, 0, 3);
	$parte_dois   = substr($cpf, 3, 3);
	$parte_tres   = substr($cpf, 6, 3);
	$parte_quatro = substr($cpf, 9, 2);

	$ArrayRetornogru[] = "$parte_um.$parte_dois.$parte_tres-$parte_quatro";

	$result_usuario = "INSERT INTO gru_concurso (data_vencto, data_pago, valor, cpf) VALUES ('$data_vencto', '$data_pago', '$valor', '$cpf')";

	if (!mysqli_query($conn, $result_usuario)) {
		var_dump($result_usuario);
	}
}
var_dump($ArrayRetornogru);

$_SESSION['msg'] = "<p style='color: green;'>Carregado os dados com sucesso!</p>";
header("Location: index.php");

 

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...