Como criar uma Select com parametros vindos da Checkbox?

6 respostas
douglasmorais

Boa noite

Amigos, nao sei fazer muita coisa alem de um CRUDzinho basico mas estou tentando criar uma consulta onde os parametros vem de um Checkbox.
Como eu vou poderei fazer a pesquisa no banco de dados se eu nao sei quantas ( quais ) Checkbox serao escolhidas pelo usuario na tela da consuta. Especificamente, eu nao sei como construir a string da consulta. Por exemplo, o usuario podera marcar de 1 a 5 checkbox. Mas se eu nao sei quais serao as escolhas como eu vou fazer o SELECT ? Se fosse apenas 1 unica opcao das 5 possiveis, tudo bem, era so usar o req.getParemeter e concatenar com a string do SELECT. Mas e nesse caso ? Ja revirei o google de cabeca pra baixo e nao achei nada.

6 Respostas

luxu

amigo o modo mais chulo seria criar cada checbox com uma variável diferente e dps antes de criar a string perguntar quem está checado, uma idéia.

douglasmorais

valeu luxu… meu, mas vc poderia ser mais especifico… nao entendi cara… tem como fazer um codigozinho pra se eu entendo melhor ?

luxu
int check1, check2, check3, check4, check5

check1 = req.getParameters("check1");
check2 = req.getParameters("check2");
check3 = req.getParameters("check3");
check4 = req.getParameters("check4");
check5 = req.getParameters("check5");

if(check1 == true && check2 == true && check3 == true && check4 == true && check5 == true)
{
     string sql = "select check1, check2, check3, check4, check5 from produto";
}
else if if(check1 == true && check2 == true && check3 ==true && check4 ==true)
{
     string sql = "select check1, check2, check3, check4 from produto";
}

e assim vai, testando e montando o SQL como vc ker…num sei se ajudei ou compliquei mais ainda.

douglasmorais

Valeu cara !!! obrigado mesmo…

Markus_Alemao

Seguindo o exemplo do Luxu ...outra ideia :

<form action="Servlet" method="POST">
            <input type="checkbox" name="c_um" value="um"/>
            <input type="checkbox" name="c_dois" value="dois"/>
            <input type="checkbox" name="c_tres" value="tres"/>
            <input type="submit" value="ok"/> 
   </form>
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
        StringBuilder sql = new StringBuilder("select ");
        Set<String> parameterNames = request.getParameterMap().keySet();
        for (String nameParameter : parameterNames) {
             sql.append(request.getParameter(nameParameter)).append(",");
        }
        System.out.println(sql.toString().substring(0, (sql.toString().length()-1)).concat(" from tabela"));
    }
douglasmorais

Valeu Marcus Alemao !!!

Criado 4 de outubro de 2011
Ultima resposta 4 de out. de 2011
Respostas 6
Participantes 3