Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2009, 15:00
Avatar de loncho_rojas
loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Consultas PHP y MySQL exactas

Hola.. creo que me he vuelto un tanto confuso, sobre todo porque no logro que mi busqueda tenga el 100% de efectividad. EL motivo:

Bueno, quiero que mi buscador encuentre palabras exactas, y palabras coincidentes, de acuerdo a lo que se introduzca, entendiendo que mis campos en la BD estan con FULLTEXT las que quiero que revise de manera mas amplia, entonces,

Si el usuario ingreso 1 sola palabra genero una consulta a la base de datos con un LIKE, de esta manera:

Código PHP:
$query_Rs="SELECT * FROM tabla
           WHERE campo1 LIKE LOWER('%$buscar%') 
           OR campo2 LIKE LOWER('%$buscar%') 
SI el usuario ingreso mas de una palabra, genero una busqueda con MATCH AGAINST pero en BOOLEAN MODE, algo asi:

Código PHP:
$query_Rs "SELECT campo1, campo2, campo3,
            MATCH (campo1, campo2)
            AGAINST ('$buscar' IN BOOLEAN MODE) AS coincidencias
            FROM tabla
            WHERE MATCH (campo1, campo2)
            AGAINST ('$buscar' IN BOOLEAN MODE)
            ORDER BY coincidencias DESC"

pero el problema concreto es el siguiente,

1- Si busco la palabra "Diseño", directamente no me la encuentra, creo que es por la Ñ, aunque no se como solucionar esto de buena a primeras, ya intente cambiar el COLLATE de la BD, pero debo introducir en las tablas con caracteres UTF8, tipo ñ y luego las imprimo con UTF8_DECODE.

2- Si busco "Taller de autos", no me lo reconoce igual que "Taller de Autos", es decir, hace una leve diferencia entre una palabra con mayuscula, y minusculas, aunque sea la misma.

Alguien podria orientarme mejor, o si existe alguna solucion mas apta.

Gracias
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 10/12/2009 a las 15:51