Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/04/2016, 17:57
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: JOIN 3 tablas relacionadas, búsqueda por tags

Creo que no has entendido lo que dije.
La cosa es que si quieres buscar por tags, esa búsqueda no puede realizarse por la igualdad en un campo, es decir, que no puedes poner una condición como esta:
Código MySQL:
Ver original
  1.   tags.descripcion = $variable
porque eso sólo devolverá los registros donde el contenido de ese campo sea exactamente el mismo que el tag ingresado en la variable, y ningún otro valor (además que al crear la sentencia ese tag se transformará en algo que disparará un error de ejecución).
Lo que tienes que hacer es búsquedas basadas en expresiones regulares, o bien en relevancia.
Las primeras usan REGEXP(), la función de MySQL, y se usan para buscar patrones.
Las segundas requieren indices de tipo FULLTEXT y el uso de el uso de las cláusulas MATCH() ... AGAINST().

Dado que puedes tener una lista de tags para buscar, en tu escenario la mejor solución (y la mas usada) es la segunda opción.

MySQL 5.5 Reference Manual / Functions and Operators / Full-Text Search Functions
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)