Bom dia,
Estou com uma dúvida que talvez possa ser simples (antes, gostaria de informar que pesquisei não só no fórum como também em no google e não achei nada igual).
Estou criando um "produto", nele tem várias características em checkbox, exemplo:
PRODUTO: ____________
Caracteristicas: [ ] Item 1 | [ ] Item 2 | [ ] Item 3
E assim por diante (são 30 no total), então criei um banco de dados de características "filho" do banco de dados do produto. Ex.:
IDITEM | IDPRODUTO
1 | 30
2 | 30
E assim por diante... Até ai, para cadastrar eu já sei. Não sei como vou fazer na hora de alterar os dados, como vou fazer? Por exemplo, se eu selecionem 4 itens, vou criar 4 itens no banco de dados, e na hora de alterar, se eu retirar algum item? Como faço para apagar aquela linha no banco de dados do item que tirei? E para criar novo banco caso eu selecione mais uma?
Espero que tenham entendido, foi a melhor forma para explicar...
Abraços e obrigado a todos desde já,
Rafael Dantas

Criar/alterar Tabela Com Checkbox
Started By SrRafael, 23/04/2014, 11:21
5 replies to this topic
#1
Posted 23/04/2014, 11:21
#2
Posted 23/04/2014, 11:45
Bom dia!
Vou te dar uma solução simples:
- Você vai abrir a página para a pessoa fazer a alteração.
- Vai estar lá marcado as opções que ela tinha selecionado no momento do cadastro.
- Ela vai escolher outras opções.
- No momento que ela clicar em alterar, você vai submeter os dados.
- Nesse momento você deleta tudo vinculado naquele produto (id do produto) na tabela onde você faz a referencia das opções (itens). (id item| id produto).
- Se tudo deu certo no momento de deletar, você insere os novos dados, ou seja, você não vai alterar, você deleta e insere novos dados. Fica nessa rotina.
É uma solução rápida. Não impede você pensar em uma outra.
Se você pensar em uma outra, posta aqui pra gente!
Abraço!
Vou te dar uma solução simples:
- Você vai abrir a página para a pessoa fazer a alteração.
- Vai estar lá marcado as opções que ela tinha selecionado no momento do cadastro.
- Ela vai escolher outras opções.
- No momento que ela clicar em alterar, você vai submeter os dados.
- Nesse momento você deleta tudo vinculado naquele produto (id do produto) na tabela onde você faz a referencia das opções (itens). (id item| id produto).
- Se tudo deu certo no momento de deletar, você insere os novos dados, ou seja, você não vai alterar, você deleta e insere novos dados. Fica nessa rotina.
É uma solução rápida. Não impede você pensar em uma outra.
Se você pensar em uma outra, posta aqui pra gente!
Abraço!
#3
Posted 24/04/2014, 17:51
Amigo,
É uma ótima solução, assim que terminar o e verificar se deu certo, eu comento e posto aqui para alguém que possa ter a mesma dúvida que eu.
Obrigado
Fiz o que você falou, realmente ficou melhor...
Só tem uma coisa, não estou conseguindo deixar marcado os checkbox que já selecionei antes...
tentei fazer else e não deu certo...
É uma ótima solução, assim que terminar o e verificar se deu certo, eu comento e posto aqui para alguém que possa ter a mesma dúvida que eu.
Obrigado

Fiz o que você falou, realmente ficou melhor...
Só tem uma coisa, não estou conseguindo deixar marcado os checkbox que já selecionei antes...
tentei fazer else e não deu certo...
#4
Posted 28/04/2014, 11:10
Cole o seu código aqui!
A página de edição.
A página de edição.
#5
Posted 30/04/2014, 11:37
Amigo, desculpa não ter respondido antes...
Eu fiz da seguinte forma:
Dessa forma ele faz uma pesquisa na tabela para saber se tem o id relacionado ao item, se tiver marca checked, se não tiver, o echo retorna vazio.
Deu certo assim...
Obrigado pela ajuda
Eu fiz da seguinte forma:
<? echo "<input type='checkbox' name='item[]' value='Item 1'"; $sql = mysql_query("SELECT * FROM produto WHERE (id = '$id') AND (item = 'Item 1')"); $total = mysql_num_rows($sql); if($total >= 1){ echo "checked"; } else { echo ""; } echo " /> "; ?>
Dessa forma ele faz uma pesquisa na tabela para saber se tem o id relacionado ao item, se tiver marca checked, se não tiver, o echo retorna vazio.
Deu certo assim...
Obrigado pela ajuda
#6
Posted 06/05/2014, 07:41
Apenas para "compactar" seu código
Abraços,
<?php $sql = mysql_query("SELECT * FROM produto WHERE id = '{$id}' AND item = 'Item 1'"); echo "<input type='checkbox' name='item[]' value='Item 1' ".(mysql_num_rows($sql) > 0 ? "checked":'')." />"; ?>
Abraços,
Edição feita por: Goku Jr, 06/05/2014, 07:42.
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951
PALMEIRAS - Primeiro campeão do mundo em 1951
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)