Hola, tengo 3 tablas: provincias, categorias, publicidad y quería realizar una busqueda en la tabla publicidad que sea por ejemplo: buenos aires hoteles.
El problema es que esa información en la tabla publicidad la tengo en INT que es el id de la tabla provincias y categorias.
Lo que se me ocurre es hacer una busqueda en las dos primeras (provincias, categorias) y obtener el valor id de por ejemplo buenos aires.
Entonces se me ocurren dos alternativas a continuación:
1. En la primer consulta obtendría los ids de las dos primeras tablas y hago que queda una variable $res= " OR provincia=3 OR categoria=7";
SELECT * FROM publicidad WHERE (MATCH (nombre, direccion) AGAINST ('$buqueda')) $res
-----------------------------------------------------------------------------------------
2. Pasar a FULLTEXT los campos provincia, categoria (de la tabla publicidad) para esto deberían pasar a ser VARCHAR en vez de INT.
Con la primer consulta que hago a las dos tablas obtendría algo como: "3 7" lo cual lo incluiria en la variable $busqueda quedando = "buenos aires hoteles 3 7"; ahora puedo hacer toda la consulta con solo el MATCH
SELECT * FROM publicidad WHERE MATCH (nombre, direccion,provincia,categoria) AGAINST ('$buqueda')
--------------------------------------------------------------------------------------------
Cuál les parece mejor?
Espero haber sido claro, sino avisenme.
Gracias.