Ver Mensaje Individual
  #15 (permalink)  
Antiguo 27/06/2011, 20:14
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Tuve que leer detenidamente tu primer post repetidamente para tratar de entender lo que planteas. Creo que lo comprendí.

A ver:

1) Tienes una aplicación que realiza una búsqueda de un tal "Mister Man" dentro de alguna tabla.

2) Tienes que hacerlo en PHP, porque no tienes permiso de modificar la sintaxis de la consulta que devuelve la tabla de datos a procesar.

3) Como esa consulta busca por similitudes, lo que devuelve es cualquier cosa que contenga al menos una de las palabras de la cadena buscada.

4) El resultado de la búsqueda es tal que de la primera palabra ("Mister"), no encuentra ninguna coincidencia.

5) De la segunda palabra encuentra, pero como lo hace por LIKE (aparentemente un LIKE '%Man%'), devuelve todas aquellas coincidencias en que aparezcan esas tres letras, sin importar si es al inicio, al medio o al final de alguna palabra.

6) Quieres que te ayudemos a buscar la forma de descartar todas aquellas respuestas que no sean por la palabra exacta, ya que supones que esas serán las respuestas correctas.

Si esto es lo que deseas puedo decirte al menos tres cosas:
1) No te hubiese costado ni medio escribirlo de esta forma. A menos que sufras de parálisis cerebral, tengas enyesadas las manos y estés escribiendo con la punta de una lapicera sobre el teclado, podrías tomarte al menos el trabajo de escribirlo en castellano (español) correctamente. Ponle un poco de onda... de la forma que escribiste lo único que parecía es que querías provocar una pelea (eso o tienes menos de doce años de edad).

2) El 99,99% de tu problema es por una consulta mal redactada. Lo mejor sería buscar la forma de reemplazarla, o bien de crear nuevas que puedan responder tu búsqueda de una forma mejor.

3) Si ninguna de estas cosas te conforma, simplemente deberías programar la secuencia de PHP que permita recorrer las cadenas devueltas en el array de respuesta y descartar aquellas que no cumplan con la condición que tu necesitas. Puedes incluso usar expresiones regulares en PHP para ello; de ese modo tal vez lo hagas más rápido.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)