El problema es un poco largo, espero que me puedan ayudar.
Tengo tres tablas, las cuales su estructura son
Fondos
Código:
CategoriasCREATE 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`) )
Código:
Sub_categoriasCREATE 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`) )
Código:
Bueno, esas tres tablas son parte de la busqueda que yo quiero realizar, por ahora solo con like.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`) )
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.