Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos Augusto Falcão da Silva

com relacionamento -> 2 tabelas

Recommended Posts

Boa noite!!! Vou "despejar" minha dúvida aqui e vamos ver se alguém consegue entender claramente.Estou desenvolvendo um sisteminha em php+mysql que registra asreclamações e/ou devoluções de produtos por meus clientes. A síntesedo sistema segue abaixo:O cliente liga reclamando e devolve seus produtos. São registradosdados dele (nome, contato, cidade, telefone, descrição da reclamaçãoetc). Quando a devolução chega, juntamente da nota fiscal, oresponsável pelo pós-vendas registra mais algumas informações, comonúmero da nota, documento do cliente, o(s) produto(s) devolvido(s), omotivo da devolução, a quantidade e etc. Mais alguns dados sãopreenchidos, mas este trecho que acabei de citar é o importante. Aquivem o "tcham" da coisa. Preciso que o atendente registre os dados(isso já tá Ok) e, quando o responsável pelo pós-vendas for dar a suadisposição, pode haver, por exemplo, 20 produtos devolvidos. Mas queroque tenha apenas campos para opção de lançamento de 1 item. Caso tenhamais, uma pergunta é gerada "Deseja incluir mais itens?", esses dadosque acabei de lançar são registrados no BD e volto na tela de registrode produtos, para inserir quantos mais forem necessários, gravandotodos no banco de dados.Tinha pensado em fazer o seguinte: dentro da tabela, criaria campospara registro de, sei lá, 20 itens (produto01, qtde01, motivo01,produto02, qtde02, motivo02 etc). Mas andei pensando e cheguei aconclusão que posso criar apenas para 1 item (produto, qtde, motivo) equando solicito se desejo gravar, ele insere os dados no próximoregistro no BD. Mas, como cada relatório possui um número atribuído,como ficaria para, por exemplo, o relatório nº 215/06 ter 15 itensdevolvidos? Aparecem 15 linhas na tabela do BD com o nº215/06 e, cadauma, com um item preenchido? E os campos que são necessários apenaspara 1 preenchimento (dados do cliente), como ficam? Se repetem as 15vezes?Acho que isso é possível, mas como faço? Para exibir eu creio que sejasimples, né? Um 'select count(nro_devolucao) from devolucao' meexibiria corretamente?Bom, fico no aguardo do auxílio dos amigos,Guto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi direito, o que você tem que fazer é criar duas tabelas: 'relatorio' e 'devolvido', por exemplo. Na 'relatorio' você teria as informações do cliente e etc e cada registro teria como primary key um ID único (um campo int com auto_increment), 'relatorio_id', por exemplo. Na tabela 'devolvido', só as informações dos produtos devolvidos e um campo 'relatorio_id' que relacionaria cada produto devolvido com seu relatório. Na hora de pegar os produtos devolvidos do relatório de ID 15, é só usar "SELECT * FROM devolvido WHERE relatorio_id = '15'". E pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi direito, o que você tem que fazer é criar duas tabelas: 'relatorio' e 'devolvido', por exemplo. Na 'relatorio' você teria as informações do cliente e etc e cada registro teria como primary key um ID único (um campo int com auto_increment), 'relatorio_id', por exemplo. Na tabela 'devolvido', só as informações dos produtos devolvidos e um campo 'relatorio_id' que relacionaria cada produto devolvido com seu relatório. Na hora de pegar os produtos devolvidos do relatório de ID 15, é só usar "SELECT * FROM devolvido WHERE relatorio_id = '15'". E pronto.

 

Bom dia!!!

 

Vou tentar desenhar um exemplo aqui pra ver se consigo me expressar melhor:

 

[size=1]Tabela_01						 Tabela_02---------------------------------------	 ------------------------------------------------------Id--Nome--Cidade-----Fone---------Data-------Cod_Produto---Qtde_Dev---Motivo_Dev--Valor ----------------------------------------------------------------------------------------------------------1----Bla------Uai------123456-----11/02/06--------253------------10---------Quebrou----12,50--------------------------------------------------920------------05----------Torto-------50,00--------------------------------------------------123------------01----------Sumiu-------8,252---Haha-----Hihi------654321----15/06/06---------950------------10----------Errado-----15,003---Oêêê----Lalala-----987321----10/02/02----------50------------01----------Sumiu------10,00  ---------------------------------------------------------------------------------------------------------[/size]

Perceberam? Quero entender como gravo na base de dados a associação dos itens 253, 920 e 123 e seus respectivos campos ao relatório (tabela_01) 01 (Id 01)???

 

Pensando aqui com meus botões, isso é questão de relacionamento, não é? Para fazer essa associação, devo disponibilizar um campo na seção de definição dos produtos devolvidos (Tabela_02) para digitar a qual relatório de devolução (Tabela_01, campo Id) pertence(m) este(s) produto(s) devolvido(s)? Existe alguma "auto-associação"?

 

Acho que consegui clarear um pouco, não? Se ainda não conseguirem compreensão, vou enviar um teste da base de dados oficial, preenchido da forma como gostaria que aparecesse.

 

Fico no aguardo de cooperação, agradecendo imensamente a colaboração,

 

 

Guto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.