Ir para conteúdo

POWERED BY:

Arquivado

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

hamiltonssj4

checkbox no MySQL

Recommended Posts

Olá. Sou novo no fórum e tenho uma dúvida que esta me matando. [/size]Estou com uma dúvida sobre o checkbox. Vou criar uma página para um colega meu (uma página simples), [/size]onde terá vários checkbox's [/size]para escolha, essas escolhas (via checkbox's), precisam ser [/size]

gravadas no Banco de Dados. Como eu organizo isso no banco de dados? [/size]

Um exemplo seria em um dos checkbox, terá a opção SIM ou NÃO. [/size]Aí eu crio um atributo no Banco de Dados SIM e NÃO? [/size]Ou o próprio checkbox irá gravar o SIM e NÃO no banco de dados? [/size]Haverá vários formulários, o banco de dados irá gravar SIM e NÃO? [/size]Se houver 1000 formulários, haverá mil SIM (ou NÃO)?[/size]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vish, só me confundiu, hehehe.

 

Mas pra quando eu utilizo checkboxes geralmente eu uso 0 ou 1 no banco de dados, por exemplo, se o usuário deve alterar a senha no próximo login, eu marco 1 no campo 'primeiro_acesso', quando o usuário alterar a senha, no INSERT eu informo o novo valor do campo 'primeiro acesso', por exemplo:

INSERT INTO usuarios (password, primeiro_acesso) VALUES ('senha_ficticia', 0);

Espero ter sanado sua dúvida quanto a maneira de gravar um checkbox no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem...

 

não sei qual linguagem que vc está usando, vou exemplificar em PHP. Então vamos lá:

 

primeiro vc tem que coletar os valores do checkbox( irá ser um array) e com esse array, ainda na linguagem de script, vc fará um loop que pegará os valores e nesse processo vc irá gerar uma string que irá gravar isso no BD.

 

primeiro um form e como pegar os valores.

<form name="form1" action="destino.php" method = "POST">
  opt1 <input type="checkbox" name="opcoes[]" value="o1">
  opt2 <input type="checkbox" name="opcoes[]" value="o2">
  opt3 <input type="checkbox" name="opcoes[]" value="o3">

<input type="submit" value="gravar">
</form>

preste bem a atenção no name opcoes[], quando é um array que pega várias opções, sempre, eu disse SEMPRE, coloque colchetes (como mostrado). Feito isso, agora vou resgatar os valores, nesse caso no mesmo arquivo que usarei para resgate, usarei para decompor o array e gerar a query de inserção.

<?php
// arquivo destino.php

/* vamos considerar que a conexão com o banco de dados está feita e demais campos estão preenchidos.*/

//feito o resgate...
$opcoes = $_POST['opcoes'];

//agora decompor o array
for($i=0;$i<count($opcoes);$i++){
  $valores .= '($opcoes[$i]),';
}

//feita a decomposição, foi gerada uma tripa com os valores agora é dar uma tratada (sobrou uma virgula no final)

$query_ins = 'insert into tabela (opcoes) values'.substr($valores,0,-1);

//agora é executar a query

$exec = mysql_query($query_ins);
?>

bem a função substr() foi usada para tirar a virgula que sobrou. Note que no resgate da variável irá ocorrer da mesma forma, sem nenhuma alteração.

 

Espero ter ajudado

 

ualquer coisa de um grito :D

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.