Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Hacer petición a MySQL haya o no datos

Estas en el tema de Hacer petición a MySQL haya o no datos en el foro de Mysql en Foros del Web. Tengo una duda. Tengo una base de datos donde los usuarios ingresan su currículum para que los reclutadores lo contraten. Estoy terminando la segunda parte ...
  #1 (permalink)  
Antiguo 23/07/2012, 15:13
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Hacer petición a MySQL haya o no datos

Tengo una duda. Tengo una base de datos donde los usuarios ingresan su currículum para que los reclutadores lo contraten. Estoy terminando la segunda parte y es donde los reclutadores hacen una búsqueda para buscar currículums de acuerdo a lo que están buscando.

Los reclutadores buscan estos currículums de acuerdo a los contenido en los campos en la base de datos (variable que el candidato escogió entre varias que le fueron mostradas, por ej: Género másculino o femenino), pero por ejemplo en varias opciones quiero que el reclutador pueda seleccionar indistinto, y no necesariamente masculino o femenino. Tengo esta petición pero ¿Cómo puedo hacerle que se pueda no tomar en cuenta una variable de la base de datos si el reclutador así lo desea?. Por ejemplo:

"SELECT * FROM wp_consultte WHERE Genero LIKE '%$genero%'
OR EstadoCivil LIKE '%$EstadoCivil%'
OR Carrera LIKE '%$Carrera%'";
  #2 (permalink)  
Antiguo 23/07/2012, 15:30
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Hacer petición a MySQL haya o no datos

Hola alvarols:

No es posible hacer WHERE's condicionales como los pretendes hacer... lo que debes hacer en todo caso es construir el WHERE de manera dinámica... por ejemplo, para el caso del género si el usuario elige masculino o femenino, entonces tu condición deberías armarla tal como la tienes:

Código:
.....
WHERE
  Genero LIKE '%$genero%' 
......
Sin embargo, si el usuario elige INDISTINTO entonces simplemente NO INCLUYES ESTA COMPARACIÓN EN EL WHERE... es decir, en pseudocódigo sería más o menos así:

Código:
consulta = "SELECT * FROM wp_consultte WHERE ";

SI $genero es diferente de 'indistinto' ENTONCEs
   consulta = consulta + "Genero LIKE '%$genero%'"

SI $EstadoCivil es diferente de 'indistinto' ENTONCES 
   consulta = consulta + "EstadoCivil LIKE '%$EstadoCivil%'"

SI $Carrera es diferente de 'indistinto ENTONCES
  consulta = consulta + "Carrera LIKE '%$Carrera%'";
Obviamente tienes que cuidar el uso de los operadores OR, de tal manera que no te sobre ni te falte ninguno... al finalizar simplemente ejecutas la consulta resultante.

Saludos
Leo.
  #3 (permalink)  
Antiguo 23/07/2012, 15:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Respuesta: Hacer petición a MySQL haya o no datos

Muchas gracias

Etiquetas: select, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:16.