Acceder Registrarme

Como realizar una busqueda con filtros


Por: Eduardo Soltero Publicado el: 2018-04-06 13:00:15 Pregunta cerrada

En la imagen tengo todos los filtros que requiero para hacer la busqueda, es decir: si quiero realizar una busqueda por depencia me tiene que mostrar los resultados pero a su vez la busqueda puede ser por depencia y area tecnica, o solo area tecnica, en otras palabras puedo hacer combinaciones de busqueda mi pregunta es la siguiente...De que forma fuedo hacerlo debido a que a mi se me ocurre usando varios sentencias IF pero serian demasiados no se si haya otra forma mas sencillas, de forma resumida dejo una idea de como se me ocurrio y lo hago dentro de un servlet.

if(dependencia!=""){
   sql= "select * from turnadas where dependencia ='"+dependencia+"'";
}

else

if(area!=""){
   sql = "select * from turnadas where area_turnada ='"+area+"'";
}

else

if((area!="")&&(dependencia!="")){
   sql = "select * from turnadas where dependencia ='"+dependencia+"' and area_turnada ='"+area+"'";
}

//una vez definida la consulta ya realizo la conexion a la bd y ejecuto la consulta



Java JSP

Kevin Arnold Arias Figueroa Marcado como mejor respuesta
por el autor de la pregunta
Usuario de (Perú)

Hola eduardo, tu script para la consulta podría ser similar a lo siguiente y evitas manejar "if" de parte de Java:

sql = "select * from turnadas where ("+(dependencia=="")+" || dependencia='"+dependencia+"') and ("+(area=="")+" || area_turnada='"+area+"')";

Saludos.

  • 2018-04-06 13:30:54
  • Me gusta(0)
Usuario de (Perú)

Recuerda que así como se encuentran tus consultas están propensas a sufrir ataques de inyección SQL... deberías leer sobre los PrepareStatement.

  • 2018-04-06 13:32:07
  • Me gusta(1)

  • Debes estar logueado para realizar comentarios