Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/03/2008, 17:56
Avatar de ElJavista
ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: Consultas mysql y php

Bien, te planteo una solución, haz lo siguiente: crea una tabla llamada "cats" por ejemplo, la cual tendrá los siguientes campos

id: integer autonumerico
imagen: integer
categoria: integer

Digamos que quieras agregar una imagen, cada vez que le añadas una nueva categoría por cada imagen tendrás que registrar un nuevo registro en la tabla "cats". Por ejemplo, si añades una nueva imagen, esa imagen no estará registrada en la tabla cats, digamos que has hecho una tabla "images", bien, la registras en esa tabla, eso te da un id de esa imagen, pues con ese id, tendrás que registrar las categorías de esa imagen. Así digamos si la ultima imagen que has registrado tiene un id = 5, tendrás que registrar ese id en la tabla "cats" y será el correspondiente al campo "imagen" y en el campo categoria estaría el id de la categoría determinada. Cuando añadas a la misma imagen otra categoría pues tendrías que registrar otra vez, otra registro en "cats" con el id de la imagen y el id de la categoría". En la tabla donde registras tus imagenes no estaría ninguna referencia a las categorias. Bien, de este modo podrias registrar las categorías de modo que el buscador las pueda encontrar. Te daré la consulta SQL que te podría servir de base para esa búsqueda. Digamos que tu tabla "images" (donde supuestamente guardas las imagenes) tenga una campo "imagen" en la cual estaría la ruta de tu archivo. Entonces quedaría la cosa así:

sSQL = "Select im.imagen from images im inner join cats ca on im.id = ca.imagen where ca.categoria = n"

Esto buscará la ruta de la imagen cuando el la categoria es n, si quieres mas de una categoria pue simplemente añade mas condiciones (And ca.categoria = m) y así. Espero te haya servido de ayuda. Si no entiendes bien la consulta SQL te puedo decir que estoy usando la sentencia inner join, investiga al respecto.