Ir para conteúdo
Fórum Script Brasil
  • 0

Montar um SELECT COM CHECKBOX


mulequim

Pergunta

Ola Pessoa estou querendo montar um select de acordo com as opções que os usuários marcarem no formulário, usaria um checkbox e assim eles escolheriam como queriam visualizar o relatório...

Ai vem minha dúvida, como posso fazer isso, não sei nem por onde começar. No meu formulário o valor dos checkboxs já são os campos da tabela, mas na hora que eu tentei montar deu tudo errado vejam..:

Eu fiz um echo no final para ver como estava ficando meu select.

$saram = $_POST['saram'];
$nome = $_POST['nome'];
$nguerra = $_POST['nguerra'];
$graduacao = $_POST['graduacao'];
$especialidade = $_POST['especialidade'];
$antiguidade = $_POST['antiguidade'];
$ffix = $_POST['ffix'];
$ftra = $_POST['ftra'];
$fcel = $_POST['fcel'];
$fout = $_POST['fout'];
$email = $_POST['email'];
$senha = $_POST['senha'];
$perfil = $_POST['perfil'];

//montando select
$sql = "SELECT ".$saram.",".$nome.",".$nguerra.",".$graduacao.",".$especialidade.",".$antiguidade.",".$ffix.",".$ftra.",".$fcel.",".$fout.",".$email.",".$perfil." FROM tb_militar";
$result = mysql_query($sql) or die (mysql_error());
echo $sql;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Toda vez que você coloca um checkbox no seu form sem valor nenhum:

<input type="checkbox" name="saram" />
Ele pode retornar dois valores "on" ou NULL acessados em $_POST['saram'] ou $_GET['saram'] e $_REQUEST['saram']
Em coparações simples, na qual o PHP não leva em consideração o tipo da variável, NULL é igual a FALSE
Logo você poderia fazer o seu select usando condições ternárias dessa forma:
<?php
$campos .= ($_POST['saram']) ? '`saram`, ' : '' ;
$campos .= ($_POST['nome']) ? '`nome`, ' : '' ;
$campos .= ($_POST['nguerra']) ? '`nguerra`, ' : '' ;
.
.
.
#Para tirar a última virgula e espaço da variável
$campos = substr($campos, 0, -2);
$sql = "SELECT $campos FROM tb_militar"
$result = mysql_query($sql) or die (mysql_error());
echo $sql;
?>
Mas dessa forma toda vez que você for mudar a sua tabela você deverá mudar o formulário e o script que gera o SELECT.
Outra forma, na qual o script que gera o SELECT não precisaria ser mudado, primeiro os selects teriam o mesmo valor em name, mas seriam uma matriz e teriam valores em value, dessa forma
<input type="checkbox" name="campos[]" value="saram" />
<input type="checkbox" name="campos[]" value="nome" />
<input type="checkbox" name="campos[]" value="nguerra" />
.
.
.
O Script por sua vez acessariam esses valores assim $_(POST|GET|REQUEST)['campos'][(0|1|2|3|4)].
Capisce Bambino!!!
O script então ficaria assim:
<?php
$campos = '`'.implode('`, `', $_POST['campos']).'`';
$sql = "SELECT $campos FROM tb_militar"
$result = mysql_query($sql) or die (mysql_error());
echo $sql;
?>
Espero ter ajudado.
Tudo de bom.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...