Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera
estou com a seguinte dificuldade
tenho um arquivo txt com dados da seguinte maneira:
P 1 "15_Mar_04" 0
B 1 1 Aco_CA-25 25 20 91.8757 kg 0.4 13 0 0.3 MetalGrate.jpg 0 0 0
B 1 8 Areia_Grossa 25 20 5.39926 m3 3 4 0 1.34982 areia.jpg 0 0 0
B 1 12 Betoneira 25 20 17.5417 0 4 4 0 1.5 conexion.jpg 0 0 0
B 1 14 Brita_2 25 20 6 m3 4 5 0 0.9 brita2.jpg 0 0 0
B 1 17 Caminhao_basculante 25 20 6 0 17 2.7 0 3 conexion.jpg 0 0 0
B 1 20 Cimento 25 20 2812.5 kg 1.3 1.35 0 0 bri29.jpg 0.65 0.45 0.1
B 1 47 Pa_carregadeira 25 20 6 0 2.4 1.6 0 2.5 conexion.jpg 0 0 0
P 2 "15_Jul_04" 0
B 2 2 Aco_Ca-50 25 20 500 kg 10 10 0 1 MetalGrate.jpg 0 0 0
B 2 7 Areia_Fina 25 20 6 m3 3 4 0 1.5 areia.jpg 0 0 0
B 2 8 Areia_Grossa 25 2
......em seguida, interpreto esses dados e tento atualizar as tabelas do meu banco de dados, pois esses dados sao recebidos de uma interacao com o usuário.o problema é que criei um parser pra ir lendo linha a linha e atulizando. percebi que os comandos sql nao funcionam enquanto ocorre a leitura do arquivo, ou seja, dentro do comando fopen. cheguei a essa conclusão pq está tudo certo, já testei dando echo e copiando no gerenciador mysql do banco e assim funciona, só nao dentro do arquivo. ALGÚEM TEM ALGUMA IDÉIA DE COMO DEVO AGIR NESSE CASO?
vou colocar um trecho do código onde tento fazer os updates:
$fp = fopen($filename, "r") or die("Não foi possível abrir $filename");
while (!feof($fp)){
$string = fgets($fp, filesize($filename));
$string2 = explode(" ", $string);
if($string2[0]=="B"){
$i=1;
while($i<=$num_f){
if($string2[1]==$i){
// atualiza o banco de dados
$sqlr= mysql_query("UPDATE tab_recursos SET dimx".$i."=".$string2[8].",dimy".$i."=".$string2[9].",altura".$i."=".$string2[11].",posicaox".$i."=".$string2[4].",posicaoy".$i."=".$string2[5]." WHERE nomeprojeto='".$nomeprojeto."' AND numrecurso=".$string2[2]) or die(mysql_error());
}
$i++;
}
}
if($string2[0]=="I"){
$i=1;
while($i<=$num_f){
if($string2[1]==$i){
// atualiza o banco de dados
$sqli=mysql_query("UPDATE tab_instalacoes SET dimx".$i."=".$string2[5].",dimy".$i."=".$string2[6].",altura".$i."=".$string2[8].",posicaox".$i."=".$string2[3].",posicaoy".$i."=".$string2[4]." WHERE nomeprojeto='".$nomeprojeto."' AND elemento='".$string2[2]."'") or die(mysql_error());
}
$i++;
}
}
}
// fecha o arquivo
fclose($fp);THANKSCarregando comentários...