Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/09/2010, 12:50
arguerof
 
Fecha de Ingreso: junio-2010
Mensajes: 43
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Buscar en una query

Cita:
Iniciado por repara2 Ver Mensaje
Antes de continuar te cuento habría que ver tu programa, pero lo ideal es hacer una interface para ir aplicando esos filtros pero siempre a una select.
Desde el punto de vista de programación sólo tiene sentido afinar la búsqueda si inicialmente no tienes los criterios.
Supongamos que los criterios los define el usuario.
1. El usuario dice "Hojas", buscas y listas.
2. El usuario dice "verdes" buscas y listas sobre la consulta anterior.
n... idem anterior hasta encontrar lo que buscas.

Desde el punto de vista del usuario, verá primero 100 resultados, después 25, después 3 y después 1. Pero esto es de cara al usuario, no tiene sentido desde el punto de vista de programación.

Si el usuario busca digamos, por un formulario, primero pone "HOJAS", entonces tú lanzas una query con ese filtro.

Si quiere buscar "hojas verdes", entonces lanzas LA MISMA query pero con dos sentencias LIKE de manera que busque artículos que contengan HOJAS y VERDES.


Tal y como tú lo planteas parece que los criterios fueran surgiendo de la nada sin motivo. Con esto quiero decir que siempre existirá un punto de entrada para los criterios de búsqueda: un campo de texto, o una lista de selección, o las dos cosas. A partir de esa entrada buscamos en la DB.

Si lo que te gustaría es que pongan "HOJAS", te salen 50 resultados; después ponen "VERDES" salen 25 resultados, etc... entonces has de guardar estos criterios en una variable de $_SESSION y cada vez que el usuario escribe filtros, tú los agregas a la select. De esta manera pueden ir filtrando palabra por palabra.
En cualquier caso la select siempre buscará en toda la tabla NO SOLO en los resultados de la consulta anterior.
La idea es bastante interesante pero tienes que pensarte un poco cómo implementarla. Si pones más código será más fácil ayudarte.

No sé si te he ayudado o complicado la vida, espero comentarios. Salu2
Buenisimo me diste un par de ideas interesantes te contare como resultan.
me gusto lo de la variable Session.

Gracias.