Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda con consulta para Buscador

Estas en el tema de Ayuda con consulta para Buscador en el foro de Bases de Datos General en Foros del Web. Bueno, quisiera que me ayudaran con crear el buscador de imagenes para mi web, el cual debera buscar en tres tablas. El problema es un ...
  #1 (permalink)  
Antiguo 10/12/2009, 17:30
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda con consulta para Buscador

Bueno, quisiera que me ayudaran con crear el buscador de imagenes para mi web, el cual debera buscar en tres tablas.
El problema es un poco largo, espero que me puedan ayudar.

Tengo tres tablas, las cuales su estructura son

Fondos

Código:
CREATE TABLE IF NOT EXISTS `fondos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(256) DEFAULT NULL,
  `nombre_corto` varchar(256) DEFAULT NULL,
  `fecha` varchar(100) DEFAULT NULL,
  `categoria` varchar(256) DEFAULT NULL,
  `categoria_corto` varchar(256) DEFAULT NULL,
  `subcategoria` varchar(256) DEFAULT NULL,
  `subcategoria_corto` varchar(256) DEFAULT NULL,
  `visible` int(11) DEFAULT '1',
  `visitas` int(11) DEFAULT '1',
  `descargas` int(11) DEFAULT '1',
  `autor` int(11) DEFAULT NULL,
  `resolucion` varchar(256) DEFAULT NULL,
  `remitente` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
)
Categorias

Código:
CREATE TABLE IF NOT EXISTS `categorias` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(256) DEFAULT NULL,
  `nombre_corto` varchar(256) DEFAULT NULL,
  `fecha` datetime NOT NULL,
  `icono` varchar(100) DEFAULT NULL,
  `meta_title` varchar(256) DEFAULT NULL,
  `meta_keywords` varchar(256) DEFAULT NULL,
  `meta_description` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`)
)
Sub_categorias

Código:
CREATE TABLE IF NOT EXISTS `sub_categorias` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(256) DEFAULT NULL,
  `nombre_corto` varchar(256) DEFAULT NULL,
  `categoria` varchar(256) DEFAULT NULL,
  `categoria_corto` varchar(256) DEFAULT NULL,
  `meta_title` varchar(256) DEFAULT NULL,
  `meta_keywords` varchar(256) DEFAULT NULL,
  `meta_description` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`)
)
Bueno, esas tres tablas son parte de la busqueda que yo quiero realizar, por ahora solo con like.

Mi problema surgio al querer en el momento de que se haga la busqueda, que se tome en cuenta la categoria y subcategoria
en donde se encuentra el fondo, ya que yo quiero que se tome el meta_Keyword de la categoria y subcategoria del fondo
al momento de buscar y implmentarlo de otra forma implicaria una recontrucción del codigo total y eso tomaria tiempo, por lo tanto ahroa les
expongo el modelo de busqueda.

Bueno, el modelo de busqueda es el siguiente:
1.- Que se seleccionen todos los fondos en los cuales en su nombre tengan la palabra buscada.
2.- En caso de que no se encuentre nada en el nombre, que se tome en cuenta ahora la categoria del mismo fondo y que se consulte ahora en la otra tabla de categorias si existen palabras buscadas en el meta_keywords de la categoria del fondo,
(En la tabla categorias abran filas con distintas categorias sin repetirse que estaran asociada a los fondos, por lo tanto la busqueda debera ser solo del meta_keywords de
la categoria del fondo en cuestión)
3.- Lo mismo, en caso de que no se encuentre las palabras o palabra buscada en el meta_keywords de la categoria del fondo, que se
tome ahora encuenta la subcategoria del mismo fondo y que se consulte ahora en la otra tabla
de sub_categorias si existen palabras buscadas en el meta_keywords de la subcategoria del fondo
(En la tabla sub_categorias abran filas con distintas subcategorias sin repetirse que estaran asociada a los fondos, por lo tanto la busqueda debera ser solo del meta_keywords de
la subcategoria del fondo en cuestión)

Bueno, ese seria el proceso de la busqueda y ahora solo queda que me devuelva todo los fondos para mostrarlo en la busqueda que cumplan alguno de los 3 requisitos y que se salte los que no.
y la busquea que se realize con el like al buscar la palabra o palabras ingresadas por el usuario.

Bueno, ahora le pido a algun experto que me pueda facilitar la consulta correcta que debere realizar para que termine por fin el
sistema de busquedas, espero que me peudan ayudar.


Nota: no tienen que tomar en cuenta los demas campos como por ejemplo categoria_corto o subcategoria_corto, pero igual los dbeeria devolver en el listado de todos los fondos que cumplan el requisito fondos.

de ante mano muchas gracias.
  #2 (permalink)  
Antiguo 11/12/2009, 12:52
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta para Buscador

up..up..up :(
  #3 (permalink)  
Antiguo 11/12/2009, 13:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda con consulta para Buscador

Puedes hacer una función en mysql que tenga 3 IFs anidados que resulevan tus preguntas.
En cada if estaría la consulta que debe mostrar cada item.

Dependiendo de si encuentra o no los registros entrará en el idf correcto.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 11/12/2009, 13:03
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta para Buscador

como quedaria?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.