Foros del Web » Programando para Internet » PHP »

Consultas mysql y php

Estas en el tema de Consultas mysql y php en el foro de PHP en Foros del Web. Hola, que tal amigos de foros del web, está vez con una duda, del como manejar mejor una tabla de registros en mysql. resulta que ...
  #1 (permalink)  
Antiguo 10/03/2008, 14:17
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Consultas mysql y php

Hola, que tal amigos de foros del web, está vez con una duda, del como manejar mejor una tabla de registros en mysql. resulta que voy a hacer un sistema tipo, banco de imagenes, mi pregunta es a cada foto que almaceno le agrego categorias ó clasificaciones, las cuales cambian o varian del tipo de ofotgrafia, se me ocurrio crear un campo de tipo text, para almacenar cada categoria separada por coma, pero el problema es que en el buscador de imagenes pueden elegir que busque fotos de distintas categorias , como le hago para hacer esa busqueda, estoy realmente bloqueado, no se me ocurre nada ayudenme
  #2 (permalink)  
Antiguo 10/03/2008, 15:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Consultas mysql y php

Busca en Google sobre relaciones múltiples o relaciones m:n, es la mejor forma de organizar tus fotos y así puedes tener múltiples categorías por foto.

Saludos.
  #3 (permalink)  
Antiguo 10/03/2008, 17:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Consultas mysql y php

Gracias, GatorV ¿tendrás algún ejemplo? por que he estado googleando y no me topo con nada
  #4 (permalink)  
Antiguo 10/03/2008, 17:56
Avatar de 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.
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 16:45.