Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2009, 20:12
Avatar de hgp147
hgp147
 
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Buscar en más de una tabla

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.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/