Jump to content


Photo

Atualizar Banco De Dados A Partir De Um Txt


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

#1 Ataíde Alves

Ataíde Alves

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Machado-MG

Posted 23/12/2011, 11:50

Boa Tarde Amigos!!

Estou desenvolvendo uma loja virtual(PARA ESTUDOS, EM UM CURSO QUE ESTOU FAZENDO), mais esbarrei em um problema:
Essa loja(virtual) trabalhara com estoque compartilhado, ou seja ira usar o mesmo estoque da Loja Fisica. Nesse caso me passaram um arquivo TXT que o sistema SGA da loja(Fisica) gerou.

O que tenho que fazer é o seguinte, fazer upload desse TXT, verficar os códigos gerados, comparar com o BD e se tiver alterado o numero do estoque de determinado produto(no TXT) é feito o UPDATE no BD.

TXT
Posted Image

Como podem ver na imagem acima, o arquivo txt que eu tenho é esse, vou explicar como esta separado o código, observando as cores dos circulos:

VERMELHO: esse é o código do produto que vai de 1 a 13 caracteres
AZUL: esse é o código de referencia da cor do produto, ele tem de 1 a 3 caracteres
VERDE:esse é o código do tamanho do produto, ele tem de 2 caracteres
PRETO:esse é o código do estoque do produto, ele tem 5 caracteres, sendo preenchido da direita para a esquerda e quando há ausencia de valor é preenchido com '0', no exemplo acima temos 2 produtos no estoque que pode chegar até 99999

Na loja virtual o codigo do produto(que esta na tabela do BD) é formado por: COD DO PROD+TAMANHO DO PROD+COR DO PROD

No caso eu preciso criar uma página que faça o Upload do arquivo TXT e que compare os 16 primeiros caracteres do TXT(sem os espaços), no caso da imagem acima iria até o N(de UN), e comparar esses 16 caracteres com o campo codigodoproduto da tabela.. se fosse encontrado produto com o mesmo código virifico se o estoque é igual, se a reposta for sim eu nao preciso alterar nada, caso os estoques estejam diferentes eu atualizo o banco de dados..

Bom pessoal, ja tentei de tudo pra fazer isso, mais ainda estou estudando PHP, e nao tenho muita pratica, poderiam me ajudar??
Entre em contato comigo

#2 maluco456

maluco456

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:criciuma

Posted 23/12/2011, 15:28

O código vai ter sempre o mesmo numero de caracteres? tem como exportar o codigo separando as referencias por pipe ou virgula,
pq fiz um projeto similar, soh que cada item vem separado por um pipe

#3 Ataíde Alves

Ataíde Alves

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Machado-MG

Posted 23/12/2011, 15:37

O código vai ter sempre o mesmo numero de caracteres? tem como exportar o codigo separando as referencias por pipe ou virgula,
pq fiz um projeto similar, soh que cada item vem separado por um pipe



Sim o codigo vai ter sempre o mesmo numero de carcteres. Entao nao da pra gerar o TXT com virgula ou pipe pois ele é gerado assim delo Sistema que gerencia estoque fisico.. Essa é a grande dificuldade que estou encontrando, pois com virgula e pipe eu encontrei alguns exemplos.. Acho que deve ser contados os caracteres (exemplo até 13 desconsiderando espaços) e armazenar em uma variavel e depois comparar com o que restou na linha.. sera que da pra fazer isso?

#4 maluco456

maluco456

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:criciuma

Posted 26/12/2011, 09:24

Ola, olha se isso te ajuda
eu conto os caracteres no primeiro substring de 0 a 3 concateno com o segundo que é de 3 a 5 e depois faço o mesmo de 5 a 13, isso ajuda?
$codigo = "1234567890123";
$conta = substr($codigo,0,3). ' <img src='http://forum.wmonline.com.br/public/style_emoticons/default/positive.png' class='bbc_emoticon' alt='(+)' /> ' . substr($codigo,3,5) . ' <img src='http://forum.wmonline.com.br/public/style_emoticons/default/positive.png' class='bbc_emoticon' alt='(+)' /> ' . substr($codigo,5,13);
echo $conta;
//vai retornar 123 <img src='http://forum.wmonline.com.br/public/style_emoticons/default/positive.png' class='bbc_emoticon' alt='(+)' /> 45678 <img src='http://forum.wmonline.com.br/public/style_emoticons/default/positive.png' class='bbc_emoticon' alt='(+)' /> 67890123
ai depois disso soh coloca os valores num array, e salva eles na tabela atravez de um for

Edição feita por: maluco456, 26/12/2011, 09:25.





1 user(s) are reading this topic

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

IPB Skin By Virteq