Ver Mensaje Individual
  #14 (permalink)  
Antiguo 10/05/2013, 03:17
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Excluir palabras de una consulta

gracias jurena, todavia no se puede cantar victoria .... la "pequeña cosa" que queda es bastante complicada (por ahora)

Tambien quiero aclarar que los comentarios criticos, que a veces hago, los hago de buena honda como se dice y no para criticar a alguien al contrario considero esto un debate constructivo.

Ademas mira por ejemplo gracias a ti he aprendido hoy un monton de cosas que no sabia sobre los REGEXP ... incluso lo de sqlfiddle aunque el jsfiddle lo vi hace unos dias (te has ganado con creces mi punto)


Ok. volviendo al problema ...

Cita:
Iniciado por jurena
1) tienes que traerte todos los registros que responden a LIKE '%par%' si no tienen dentro la palabra 'para'
la solucion mas simple para hacer esto es lo que tenia al principio

Código MySQL:
Ver original
  1. (
  2. SELECT id, campo
  3. FROM tabla
  4. WHERE campo
  5. REGEXP '[[:<:]]$busqueda'
  6. )

O sea responde PERFECTAMENTE a tu plantemiento trae todos los que empiezan por "p" "pa" "par" o "para" (en funcion del valor de $busqueda ) sin tener en cuenta los que tienen dentro "p" "pa" "par" "para" etc. ... todo esto con esta linea "REGEXP '[[:<:]]$busqueda' "

Lo de tu punto 2 .... si que es otra cosa ... ademas es justo una parte del problema que tengo ahora que todavia no esta resuelto

O sea resuelto el punto 1 queda esto :

distinguir las palabras que empiezan por $busqueda (sea cual sea su valor "p" "pa" "par" o "para" ) de los que en su totalidad coinciden con alguna del array $palabras_excluidas (en este caso con la palabra "para" )

Es por esto que no doy por resuelto el caso y cualquier sugerencia incluso las que pueden no estar del todo correctas estan bienvenidas.

Saludos y gracias

Última edición por matake; 10/05/2013 a las 03:31