Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Walck

[Resolvido] Importar TXT

Recommended Posts

Boa tarde amigos Imasters

Estou com o seguinte problema estou usando este script para importar dados de um arquivo TXT para o banco de dados mysql

 

 

<?
include "config.php";

$arquivo = 'teste.txt';
$arq = fopen($arquivo,'r');

while(!feof($arq))
$linha[] = fgets($arq); // cria um array com o conteudo do arquivo

$sql = "INSERT INTO ocorrencias (nome, telefone, e-mail VALUES ('$linha[0]', '$linha[1]', '$linha[2]')";
$result = mysql_query($sql) or die(mysql_error());
echo "arquivo importado com sucesso";

?>

O meu arquivo esta assim o TXT

 

Nome Telefone E-mail

daniel 9986-5458 daniel@terra.com.br

maria 7845-4578 maria@terra.com.br

Ana 4562-7845 ana2uol.com.br

 

e minha tabela asssim

 

nome telefone e-mail

 

O que acontece é que ele joga a linha toda em cada coluna conforme exemplo abaixo o que eu posso fazer pra reolver isso?

 

a linha 1

daniel | 9986-5458 | daniel@terra.com.br ele joga tudo no campo nome

 

a linha 2

maria | 7845-4578 | maria@terra.com.br ele joga tudo no campo telefone

 

a linha 3

Ana | 4562-7845 | ana2uol.com.br ele joga tudo no campo email

 

 

O que posso fazer para resolver isso , obrigado amigos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acontece k dentro do array $linha

n esta dividido...

pra kda chave esta uma linha...entende?

voce vai ter k dar um explode pra separa-los...

 

tenta assim:

<?
include "config.php";
$arquivo = 'teste.txt';
$arq = fopen($arquivo,'r');

while(!feof($arq))
$linha[] = fgets($arq); // cria um array com o conteudo do arquivo

foreach($linha as $n){
$dados = explode(" ",$n);
$sql = "INSERT INTO ocorrencias (nome, telefone, e-mail VALUES ('$dados[0]', '$dados[1]', '$dados[2]')";
$result = mysql_query($sql) or die(mysql_error());
echo "arquivo importado com sucesso";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa cara muito obrigado perfeito!!!!!

não estava dando certo o que você me passou por um pequeno detalhe na verdade eu acho até que era um confusão do forum.

nesta linha

$dados = explode(" ",$n);
o script explodia só que considerava como separador um espaço em branco, então fazia um bagunça , só que só executou corretamente após e dar um tab ao invés de o espaço e ficou asssim?

$dados = explode("	",$n);
ai funcionou perfeitamente , valew cara muito obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.