Jump to content


Photo

Lendo Somente A 1º Linha


  • Faça o login para participar
12 replies to this topic

#1 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 11/09/2006, 08:36

eu tenho esse codigo para ler txt.

$pasta = "c:/arquivos de programas/easyphp1-7/www/intermedial/site/adm/txt/EnvioWeb2.txt";
$arquivotxt = $pasta;
$fp=fopen($arquivotxt,"r");
$conteudo=fread($fp,filesize($arquivotxt));
$linhas=explode("|#",$conteudo);
for($i=0;$i<count($linhas);$i++){
echo $i."<br>";
//Começo dos Bairros
$linhas[$i]=$dado=explode("|",$linhas[$i]);
if($dado[0] == "IB"){
	$cod_bairro=$dado[1];
	echo $cod_bairro."<br>";
	$desc_bairro=$dado[2];
	echo $desc_bairro."<br>";
	$pegabairo = mysql_query("SELECT desc_bairro FROM tbbairro WHERE cod_bairro='$cod_bairro'")or die(mysql_error());
	$linaspegas = mysql_num_rows($pegabairo);
				}
	if($linaspegas != "0"){
	}else{
	mysql_query("INSERT INTO tbbairro (cod_bairro,desc_bairro) VALUES ('$cod_bairro','$desc_bairro')") or die (mysql_error());
	}
}//fecha o for 

quando executo ele, somente a primeira linha é gravada no banco as outras ele nem lê.

o meu txt (uma parte)

IB|1|CENTRO|#
IB|2|JD. SANTA MARINA I|#
IB|3|JD. SÃO GUILHERME II|#
IB|4|COND. GRANJA OLGA II|#
IB|5|JD. BRASILÂNDIA|#
IB|6|JD. SÃO GUILHERME I|#
IB|7|JD. SIMUS|#
IB|8|VL. CAROL|#
IB|9|JD. PACAEMBU|#
IB|10|JD. SÃO PAULO|#
IB|11|CERRADO|#
IB|12|JD. MARIA ANTONIA PRADO|#
IB|13|JD.Mº ANTONIA PRADO|#
IB|14|COND. SAINT CLAIRE|#

no meu banco ele cadastra somente o CENTRO

alguem sabe pq não esta lendo as proximas linhas???

obrigado
:D

Edição feita por: danceman, 11/09/2006, 08:57.

Posted Image

#2 Beraldo

Beraldo

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR
  • Interesses:Muitos...

Posted 11/09/2006, 09:30

Conhece a função file()? Ela coloca cada linha de um arquivo em um índice de uma array. Talvez fique mais fácil de vc trabalhar com essa função.

abraço
Participe, apóie e divulgue: Eu Sei Escrever
Ajude a combater os spammers: Clique aqui - Spam Poison

Our world has got no borders
And in union we all stand
Heavy Metal is our promised land


#3 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 11/09/2006, 15:04

e nesse meu script tem algo errado ?

pq mudar tudo agora ia atrazar o projeto =)
Posted Image

#4 Beraldo

Beraldo

    Normal

  • Usuários
  • 100 posts
  • Sexo:Não informado
  • Localidade:Curitiba - PR
  • Interesses:Muitos...

Posted 11/09/2006, 15:22

Não está errada esta parte?

if($linaspegas != "0"){
	}else{
	mysql_query("INSERT INTO tbbairro (cod_bairro,desc_bairro) VALUES ('$cod_bairro','$desc_bairro')") or die (mysql_error());
	}

Não deveria ser...

if($linaspegas == 0){
   mysql_query("INSERT INTO tbbairro (cod_bairro,desc_bairro) VALUES ('$cod_bairro','$desc_bairro')") or die (mysql_error());
	}

...?
Participe, apóie e divulgue: Eu Sei Escrever
Ajude a combater os spammers: Clique aqui - Spam Poison

Our world has got no borders
And in union we all stand
Heavy Metal is our promised land


#5 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 11/09/2006, 15:44

continua somente na linha linha =/

$pasta = "c:/arquivos de programas/easyphp1-7/www/intermedial/site/adm/txt/EnvioWeb2.txt";
$arquivotxt = $pasta;
$fp=fopen($arquivotxt,"r");
$conteudo=fread($fp,filesize($arquivotxt));
$linhas=explode("|#",$conteudo);
//echo $linhas;
for($i=0;$i<count($linhas);$i++){
echo $i."<br>";
//Começo dos Bairros
$linhas[$i]=$dado=explode("|",$linhas[$i]);
//echo $linhas[$i];
if($dado[0] == "IB"){
	$cod_bairro=$dado[1];
	//echo $cod_bairro."<br>";
	$desc_bairro=$dado[2];
	echo $desc_bairro."<br>";
	$pegabairo = mysql_query("SELECT desc_bairro FROM tbbairro WHERE cod_bairro='$cod_bairro'")or die(mysql_error());
	$linaspegas = mysql_num_rows($pegabairo);
	if($linaspegas == "0"){
	mysql_query("INSERT INTO tbbairro (cod_bairro,desc_bairro) VALUES ('$cod_bairro','$desc_bairro')") or die (mysql_error());
			}
}elseif($dado[0] == "AB"){
	$cod_bairro=$dado[1];
	echo $cod_bairro;
	$desc_bairro=$dado[2];
	echo $desc_bairro;
	mysql_query("UPDATE tbbairro SET desc_bairro='$desc_bairro' WHERE cod_bairro='$cod_bairro'") or die (mysql_error());
}elseif($dado[0] == "EB"){
	$cod_bairro=$dado[1];
	$desc_bairro=$dado[2];
	mysql_query("DELETE FROM tbbairro WHERE cod_bairro='$cod_bairro'") or die(mysql_error());	
}

}//fecha o for

seila oq acontece =P
Posted Image

#6 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 12/09/2006, 15:19

Só um exemplo

<?PHP
$file = file("meuArquivoTexto.txt");

for($i=0, count($file) <= $i, $i++){

//$sql = mysql_query("INSERT INTO tabela (`campo1`, `campo2`) VALUES ('valor1', '". $file[$i] ."')")or die(mysql_error());

echo $file[$i];
}
?>


Bom é só um exemplo, mas bem que você podia ter lido o que o BERALDO falou...
http://www.php.net/file


Falopa!

#7 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 13/09/2006, 14:12

eu li oq ele falo.

e pelo oq vc esta fazendo não daria certo

+ o meu txt os campos são separados por |

ex:

IB | 01 | Centro |# // fim da primeira linha
IB | 02 | barra |#

ententeu?

:lol:
Posted Image

#8 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 13/09/2006, 14:16

eu li oq ele falo.

e pelo oq vc esta fazendo não daria certo

+ o meu txt os campos são separados por |

ex:

IB | 01 | Centro |# // fim da primeira linha
IB | 02 | barra |#

ententeu?

E o que isso muda na explicação dada? Ele disse como percorrer as linhas, o resto (separar as informações pelo pipe) você já sabe, afinal, seu código já tem isso... ;)

[]’s :DAté mais

#9 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 13/09/2006, 14:41

eu li oq ele falo.

e pelo oq vc esta fazendo não daria certo

+ o meu txt os campos são separados por |

ex:

IB | 01 | Centro |# // fim da primeira linha
IB | 02 | barra |#

ententeu?

:lol:


ui :huh: :wacko:

OFF: Chegou no mercado o mais novo serviço via fone! Disque SCRIPT, você pede agente entrega na hora... :rolleyes:

#10 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 13/09/2006, 14:57

é q eu tinha entendido que o FILE(),
já quebrava tudo

+ valeu :P

oFF: :o
Posted Image

#11 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 13/09/2006, 15:18

OFF: Chegou no mercado o mais novo serviço via fone! Disque SCRIPT, você pede agente entrega na hora... :rolleyes:

Deixa eu completar? :rolleyes:

...um litro de peroba! :assobio:

[]’s :notme:Até mais

#12 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 13/09/2006, 15:28

:huh: :blink: :o :) :D :D :D :D


Só smile-man mesmo yhauahuhau


Falopa!

#13 Diogo Souza da Silva

Diogo Souza da Silva

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

Posted 13/09/2006, 22:16

Me parece que a linha assim :

$linhas[$i]=$dado=explode("|",$linhas[$i]);

deveria ser:

$dado=explode("|",$linhas[$i]);

... e acho que não seria necessario o "$linhas=explode("|#",$conteudo);", pois o fread não acumula cada linha em um item da array? ou me enganei... acho que bastava um $linhas=fread($fp,filesize($arquivotxt)); ou mesmo o $linhas=fgets($fp); e sem esse $conteudo...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq