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

Inserindo dados de um array


Marcos Vinicius Mocelin

Pergunta

Pessoal, abaixo esta um script para ler um arquivo txt separado por ";"
Oque eu preciso é inserir os dados do array no banco firebird, mas não estou conseguindo.
<?php

//campos do banco
$fields = array('NOME', 'ENDERECO', 'PROXIMO', 'BAIRRO', 'CIDADE', 'DATACADASTRO', 'REFBANCARIA', 'REFCOMERCIAL', 'ULTIMAVENDA', 'EMAIL', 'RG', 'EST_CIVIL', 'NASCIMENTO', 'FILIACAO', 'TRABALHOCONJUGE', 'IE', 'LOCALCOBRANCA', 'CARGO', 'SALARIO', 'SEPROCADO_POR', 'ESTADO', 'SEPROCADO', 'CODIGO', 'PESSOA', 'SEXO', 'LOCALENTREGA', 'LOCALTRABALHO', 'COMENTARIOS', 'NASCIMENTOCONJUGE', 'CONJUGE', 'NATURALIDADE', 'CEP', 'CPF', 'CNPJ', 'TELEFONE1', 'TELEFONE2', 'FAX', 'CONTATO', 'INSCRMUN', 'SITE', 'FANTASIA', 'BLOQUEADO_PARA_VENDAS_PRAZO', 'LIM_CRED', 'ATIVO', 'ARQ_FOTO', 'CELULAR', 'COMPLEMENTO_ENDER', 'COD_MUN_IBGE', 'CLASSE', 'TRANSPORTADORA', 'FONE3', 'NUMERO_RUA', 'CODIGOADIC_REFER', 'COD_PAIS', 'SUFRAMA', 'IDICADOR_IE');
$rows = array();

//Codificação para leitura do arquivo.

if (!($file = fopen('/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt','r')))
echo 'Erro ao abrir arquivo: /home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt';


if ($file) {
    while (!feof($file)) {
        $buffer = fgets($file);
        $rows[] = explode(';',$buffer);
    }
    
    print_r($rows);
    echo '<br><br>';
    fclose($file);

//Codificação para inserção no banco.

if (!($db=ibase_connect('localhost:/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/InfoLivre.FDB', 'sysdba', 'masterkey', 'utf-8')))
echo 'Erro ao conectar: ' . ibase_errmsg() . ibase_errcode();

$i = 0;
$inserts = array();
foreach($rows as $row) {
$insert = array();
foreach($row as $value) {
$insert[$fields[$i]] = $value;
$i++;
}
$inserts[] = $insert;
$i = 0;
}

print_r($inserts);

?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Acredito que isso resolva o problema de organizar os dados.

<?php

$fields = array('NOME', 'ENDERECO', 'PROXIMO', 'BAIRRO', 'CIDADE', 'DATACADASTRO', 'REFBANCARIA', 'REFCOMERCIAL', 'ULTIMAVENDA', 'EMAIL', 'RG', 'EST_CIVIL', 'NASCIMENTO', 'FILIACAO', 'TRABALHOCONJUGE', 'IE', 'LOCALCOBRANCA', 'CARGO', 'SALARIO', 'SEPROCADO_POR', 'ESTADO', 'SEPROCADO', 'CODIGO', 'PESSOA', 'SEXO', 'LOCALENTREGA', 'LOCALTRABALHO', 'COMENTARIOS', 'NASCIMENTOCONJUGE', 'CONJUGE', 'NATURALIDADE', 'CEP', 'CPF', 'CNPJ', 'TELEFONE1', 'TELEFONE2', 'FAX', 'CONTATO', 'INSCRMUN', 'SITE', 'FANTASIA', 'BLOQUEADO_PARA_VENDAS_PRAZO', 'LIM_CRED', 'ATIVO', 'ARQ_FOTO', 'CELULAR', 'COMPLEMENTO_ENDER', 'COD_MUN_IBGE', 'CLASSE', 'TRANSPORTADORA', 'FONE3', 'NUMERO_RUA', 'CODIGOADIC_REFER', 'COD_PAIS', 'SUFRAMA', 'IDICADOR_IE');

$linhas = file('/home/marcos/Documentos/Documentos/Projetos/importador_de_dados/teste.txt');

foreach($linhas as $nlinha => $linha) {
	$dados = explode(';', $linha);
	foreach ($dados as $ndado => $dado) {
		$inserts[$nlinha][$fields[$ndado]] = $dado;
	}
}

print_r($inserts);

Mas nunca usei firebird, então não posso te ajudar com o INSERT em si.

Abraços tudo de bom.

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