Walck 0 Denunciar post Postado Março 23, 2008 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
batatinha66 0 Denunciar post Postado Março 24, 2008 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
Walck 0 Denunciar post Postado Março 24, 2008 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
batatinha66 0 Denunciar post Postado Março 24, 2008 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif eh por isso k a gnt tah aih =] Compartilhar este post Link para o post Compartilhar em outros sites