Ola pessoal.
Preciso de uma função que insira todos os registos de um ficheiro .txt em 2 tabelas da base de dados.
Já consegui fazer a inserção nas tabelas, mas com alguns erros. se puser so um registo no txt, a função insere correctamente em todos os campos das tabelas, mas se meter mais que um registo, já fica mal inserido, ficando alguns registos dentro dos mesmos campos. Tenho o seguinte código.
Como faço para inserir todos correctamente sem que fiquem uns dentro de os mesmos campos e outros fora do campo correcto? Se puderem ajudar agradeço...
Pergunta
ShadowRider
Ola pessoal.
Preciso de uma função que insira todos os registos de um ficheiro .txt em 2 tabelas da base de dados.
Já consegui fazer a inserção nas tabelas, mas com alguns erros. se puser so um registo no txt, a função insere correctamente em todos os campos das tabelas, mas se meter mais que um registo, já fica mal inserido, ficando alguns registos dentro dos mesmos campos. Tenho o seguinte código.
$arquivo=('registos.txt'); if(file_exists($arquivo)){ $fp=fopen($arquivo,'r'); $conteudo = fread($fp,filesize($arquivo)); $separador = ","; // O que separa os resultados no arquivos TXT ? $array = explode($separador, $conteudo); $conta = count($array); for ($i=0; $i <= $conta; $i++) { $sql = "INSERT INTO nota_e (ref_reg, modelo, cor, tamanho, quant ,num_cli, cliente, colarinho, etiq_reg) VALUES ('" . $array[$i] . "', '" . @$array[$i + 1] . "', '" . @$array[$i + 2] . "', '" . @$array[$i + 3] . "', '" . @$array[$i + 4] . "', '" . @$array[$i + 5] . "', '" . @$array[$i + 6] . "', '" . @$array[$i + 7] . "', '" . @$array[$i + 8] . "')"; $resultado = mysqli_query($link,$sql); $i = $i + 9; } for ($i=0; $i <= $conta; $i++) { $sql1 = "INSERT INTO nota_p (ref_num, mod_num, cor_num, tam_num, quant_num ) values('" . $array[$i] . "','" . @$array[$i + 1] . "','" . @$array[$i + 2] . "','" . @$array[$i + 3] . "','" . @$array[$i + 4] . "')"; $resultado1 = mysqli_query($link,$sql1); $i = $i + 5; } if($resultado && $resultado1){ //for ($i=0; $i < $conta; $i++) { //$sql1 = "INSERT INTO nota_p (ref_num, mod_num, cor_num, tam_num, quant_num ) values('" . $array[$i] . "','" . @$array[$i + 1] . "','" . @$array[$i + 2] . "','" . @$array[$i + 3] . "','" . @$array[$i + 4] . "')"; //$resultado1 = mysqli_query($link,$sql1); print "Dados copiados com sucesso!"; //$i = $i + 4; //} }else{ print "Não foi possível copiar os dados do arquivo."; } //echo($conteudo); }else{ echo("Não foi possivel abrir o arquivo"); }
No ficheiro arquivo.txt
167150, SLIM R, 3, 42, 2, 1122, ELEGANTEMAGEM - UNIPESSOAL LDª, 15, 3; 166760, PARKA, 1, 48, 2, 1122, ELEGANTEMAGEM - UNIPESSOAL LDª, 13, 2; 166760, PARKA, 1, 50, 2, 1122, ELEGANTEMAGEM - UNIPESSOAL LDª, 13, 2;
Como faço para inserir todos correctamente sem que fiquem uns dentro de os mesmos campos e outros fora do campo correcto? Se puderem ajudar agradeço...
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.