Ir para conteúdo

Arquivado

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

rafaelcastro

Inserir número indeterminados de campo no BD

Recommended Posts

Grande comunidade. Tenho um formulário onde insiro diversos valores. Num determinado local do form tenho um campo que preciso inserir subitens. Estes subitens podem ser vários. De 1 até nUm exemplo que poderia dar é uma relação de compras em um mercado. Coloco o cliente, data, hora e depois tenho que discriminar os produtos antes de gravar o pedido... Eu posso inserir 1 ou 50 produtos antes de gravar. Depois de clicar no botão gravar, grava na tabela principal a compra e na tabela secundária os ítens da compra. Minha dúvida é, como fazer o PHP entender e gravar um número indeterminado de pedidos antes de gravar na tabela principal. É com session? Session com vetor? Qual é o grande segredo?Uso PHP + Firebird ou MySQLAbraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem-vindo ao fórum, Rafael http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Aproveito e peço que leia as Regras do Fórum iMasters. O título do seu tópico foi editado para se adequar à 9ª.

 

Esse formulário inclui automaticamente campos para serem preenchidos ou é necessário selecionar produtos cadastrados no banco? Você falou em $_SESSION, então provavelmente está pensando em algo semelhante a um carrinho de compras, é isso?

 

Se for uma listagem única, pode simplesmente enviar os campos num array, colocando os nomes como nome_do_campo[]. Aí depois simplesmente processa os dados enviados ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, desculpe aí pelo título equivocado...Obrigado pela resposta.Abro o formulário e vou inserindo os dados. Vou colocar como exemplo uma lista de compras.Insiro o nome do cliente, CPF e RG.Chega o momento em que preciso inserir ítens de compra.Pensei em um iframe, onde inicialmente não haverá nenhum produto, somente os campos(fields): produto, quantidade, preço e um botão inserir produto.Ao digitar o produto, quantidade, preço e clicar no botão inserir, ele irá inserir o produto no iframe. Não irá gravar a venda inteira (nome do cliente, cpf, rg e etc), apenas aquele item e ficará esperando para inserir mais produtos.Quando um não quiser inserir mais produtos, logo abaixo haverá um botão: FINALIZAR VENDA...Quando clicado, aí sim, irei gravar numa tabela os dados principais (nome, cpf, rg) e numa tabela secundaria (vendas_item) os itens que foram inseridos...Espero ter conseguido explicar certinho...Abraço a todos e obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi. Você poderia gerar os campos dinamicamente, a cada produto inserido. Estes campos seriam array, como já tinha mencionado acima. Seria, por exemplo, produto[], quantidade[] e preco[]. Assim, não importa a quantidade de campos gerados.

 

Estou saindo agora pro almoço, pois tenho uma reunião em seguida, mas assim que puder e encontrar um exemplo, posto aqui. Mas pra agilizar, você poderia fazer uma busca no fórum de Javascript para entender como funcionaria a geração dinâmica destes campos ;)

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo da seguinte forma:<?$produto_id = $_POST['produto_id'];$quantidade = $_POST['quantidade'];$preco = $_POST['preco'];$item = array(produto => $produto_id, quantidade => $quantidade, preco => $preco);?>Até aqui acredito que fui bem. Na prática, como faço para guardar esse array, sabendo que vou ter que voltar para meu form principal e aguardar para ver se irei precisar de relacionar mais produtos. E mais, se eu relacionar mais produtos, como tenho que programar a Session para que ela vá guardando cada item vendido (produto, quantidade e preco)...Espero ter conseguido explicar...Abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael, recomendo você a dar uma lida neste artigo e nas suas sequências. Explicam o funcionamento de um carrinho de compras ;)

Basta adaptar os formulários, de acordo com o que precisa, e depois inserir no banco as informações.

 

Dá uma lida e qualquer coisa posta aí.

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.