Jump to content


Photo

Ler .txt E Gravar No Banco Informações


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Deividi

Deividi

    Turista

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

Posted 02/08/2013, 17:03

Bom dia!
Estou lendo um arquivo .txt para atualizar no banco de dados algumas informações como estoque e preço até ai tudo bem o problema, consigo pegar exatamente os campos que preciso porém na hora de atualizar no banco não está funcionando, está granvado tudo zerado, segue abaixo o código.

file.txt
1       AMITRAZ 10ML                              603,00      0,00        0,00      1,94      INDUBRAS                  INDUBRAS                          

arquivo.php
		$c=0;
		$a=0;
	    while (!feof ($ponteiro)) {
	    	$c++;
	        $linha   = fgets($ponteiro, 4096);
	        $linha   = str_replace(" ","-",$linha);
	        $id      = str_replace("-","",substr($linha, 0, 16));
	        $estoque = str_replace("-","",str_replace(",",".",str_replace(".","",substr($linha, 100, 24))));
	        $preco   = str_replace("-","",str_replace(",",".",str_replace(".","",substr($linha, 168, 20))));
	        $dv = explode(".",$estoque);
	        $estoque = $dv[0];
			if($c>1){
		        $v = mysql_query("SELECT * FROM produtos WHERE ref='".$id."'");
		        echo "SELECT * FROM produtos WHERE ref='".$id."' ----- ".mysql_num_rows($v).'<br />';
		        
		        mysql_query("INSERT INTO historico_banco (ref, preco, estoque) VALUES ('".$id."', '".$preco."', '".$estoque."')");

		        echo $id." - ".$preco." - ".$estoque;
		        echo " ------ INSERT INTO historico_banco (ref, preco, estoque) VALUES ('".$id."', '".$preco."', '".$estoque."')<br /><br />";

		        if(mysql_num_rows($v)>0){
			        $at = mysql_query("UPDATE produtos SET valor='".$preco."', estoque='".$estoque."' WHERE ref='".$id."'");
			        echo "UPDATE produtos SET valor='".$preco."', estoque='".$estoque."' WHERE ref='".$id."'<br /><br />";
			        if($at){
			        	$a++;
			        }
			    }
			}
	    }
	    fclose ($ponteiro);

No código php eu pulo a primeira linha pois não me interessa, quando escrevo na tela as informações estão apresentando corretamente mas na hora de inserir no banco o registro é feito porém as informação ficam zeradas como no exemplo abaixo.

ref 	preco 	estoque
0 	0.00 	0


Se alguém conseguir me ajudar agradeceria muito.
Att

Resolvido!
Limpei as strings como neste exemplo ref='".str_replace('\0','',addslashes(trim($id)))."' e funcionou perfeitamente.
Att




0 user(s) are reading this topic

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

IPB Skin By Virteq