Jump to content


Photo

Criar/alterar Tabela Com Checkbox


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

#1 SrRafael

SrRafael

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 23/04/2014, 11:21

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

#2 andre.m.moura

andre.m.moura

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Masculino
  • Localidade:SP

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!

#3 SrRafael

SrRafael

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

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...

#4 andre.m.moura

andre.m.moura

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 28/04/2014, 11:10

Cole o seu código aqui!
A página de edição.

#5 SrRafael

SrRafael

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 30/04/2014, 11:37

Amigo, desculpa não ter respondido antes...
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 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 06/05/2014, 07:41

Apenas para "compactar" seu código

<?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




1 user(s) are reading this topic

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

IPB Skin By Virteq