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

Consultar un mismo dato en varios campos

Estas en el tema de Consultar un mismo dato en varios campos en el foro de Mysql en Foros del Web. Tengo el siguiente formulario: Un select con varias categorias a elegir, ademas se puede elegir "Todas" Un campo de texto libre con cualquier termino a ...
  #1 (permalink)  
Antiguo 10/05/2010, 12:20
 
Fecha de Ingreso: febrero-2002
Mensajes: 11
Antigüedad: 22 años, 2 meses
Puntos: 0
Consultar un mismo dato en varios campos

Tengo el siguiente formulario:

Un select con varias categorias a elegir, ademas se puede elegir "Todas"
Un campo de texto libre con cualquier termino a buscar
Un select con varias localidades a elegir, ademas se puede elegir "Todas"
Un select con varios idiomas a elegir, ademas se puede elegir "Todos"

¿Como hago la consulta Select si quiero que el texto libre se pueda encontrar o no en tres campos diferentes de la tabla, por ejem. campo1, campo2 y campo3, y ademas comprobar las siguientes coincidencias de los distintos select teniendo en cuenta que pueden elegir "Todas"...?, es muy simple, pero no se si lo explico bien

Gracias y saludos
  #2 (permalink)  
Antiguo 11/05/2010, 17:00
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Consultar un mismo dato en varios campos

El query seria algo mas o menos como esto

Código PHP:
Ver original
  1. $query = "SELECT campo1,campo2,campo3
  2.                  FROM    tabla1
  3.                  WHERE (campo4 LIKE '%".$texto."%' OR
  4.                                campo5 LIKE '%".$texto."%' OR
  5.                                campo4 LIKE '%".$texto."%') AND
  6.                                campo5 IN ($listadoPrimerSelect) AND
  7.                                campo6 IN ($listadoSegundoSelect) AND
  8.                                campo7 IN ($listadoTercerSelect)

ojo: que las variables $listadoPrimerSelect,$listadoSegundoselect y $listadoTercerSelect, deben de tener el siguiente el formato:

1,2,3,4 o '01','02','03' según el tipo de dato del campo que estes filtrando. El asunto aca es que por medio de javascript tu puedes leer los valores seleccionados en el select.

ojo que cuando escoges todos, tendrias que asignarle un valor clave que podria ser todos, lo cual modifica tu algoritmo de la siguiente manera:

Código PHP:
Ver original
  1. $query = "SELECT campo1,campo2,campo3
  2.                  FROM    tabla1
  3.                  WHERE (campo4 LIKE '%".$texto."%' OR
  4.                                campo5 LIKE '%".$texto."%' OR
  5.                                campo4 LIKE '%".$texto."%')";
  6.  
  7. if ($listadoPrimerSelect != "TODOS")
  8.     $query .=" AND campo5 IN ($listadoPrimerSelect)";
  9.  y esta misma comparacion debes de hacer para el resto

Etiquetas: campos, consultar, dato
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 15:56.