Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/09/2012, 01:06
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Base de datos para galeria fotográfica

En la web de marcadamus.com se puede enviar uno o dos parámetros (nada que ver con Javascript):

gallery: Nombre corto de la galería, por ejemplo, para "Personal Favorites" es "favorites"
id: Número de foto a mostrar, el parámetro quedaría mejor como "photo" en vez de "id"

Yo te sugeriría que uses uno u otro, no los dos, porque se supone que en la tabla de fotos ya tienes información de la galería y espero que sea la ID, no el título, porque si modificas la galería, entonces tendrías que actualizar todas las fotos para reflejar el cambio.

Entonces, el proceso sería más o menos así:
(Recuerda revisas y corregir los nombres de tablas y campos... tienes un lío de spanglish )

Índice de galerías (no se proporcionó gallery no photo en URL):
----------------------------------------
1- Lees todas las galerías, haciendo JOIN de alguna foto, sólo el nombre de imagen:

Código MySQL:
Ver original
  1. SELECT galerias.*, fotos.archivo FROM galerias
  2. LEFT JOIN fotos ON fotos.galeria = galerias.id

2- Con while lees la consulta y muestras las imágenes.
Código PHP:
Ver original
  1. while($row = mysql_fetch_assoc($result)) {
  2.       $enlace = "galerias.php?galeria={$row['id']}";
  3.       $imagen = "ruta/{$row['archivo']}";
  4.       echo "<a href=\"$enlace\"><img src=\"$imagen\" /></a>\n";
  5. }
Averigua cómo aplicar diseño con HTML+CSS
-----------------------------------------------------------

Ver una galería (Se proporcionó "gallery" en URL) :
-------------------------------------------------------------------
1- Lees primero la galería, así te aseguras de que existe y tienes nombre y descripción para mostrarlos donde lo necesites
Código PHP:
Ver original
  1. // Se supone que la id de galería debe ser entero
  2. $gallery = (isset($_GET['gallery'])) ? (int) $_GET['gallery'] : 0;
  3.  
  4. $sql = "SELECT * FROM gallery WHERE id = $gallery";
  5. // Aquí ejecutas la consulta y verificas si devolvió resultados (mysql_num_rows)

2- Muestras info de la galería (título, descripción, etc.)

3- Lees todas las fotos:

Código MySQL:
Ver original
  1. SELECT * FROM fotos
  2. WHERE galeria = $gallery

4- El while es similar al de la galería, pero el enlace, en vez de "gallery=id" sería "photo=id_de_foto"
----------------------------------------------------------------------

Ver una foto (Se proporcionó "photo" en URL):
-------------------------------------------------------------------
1- Lees la foto, haciendo LEFT JOIN para tomar la información de la galería, lo mismo que cuando leiste todas las galerías, pero al revés.

2- Muestras info de la galería.

3- Muestras la foto y otra información que creas conveniente.
__________________
- León, Guanajuato
- GV-Foto