Foros del Web » Programando para Internet » PHP »

Galería de fotos y BBDD - Mostrar resultados segun el directorio

Estas en el tema de Galería de fotos y BBDD - Mostrar resultados segun el directorio en el foro de PHP en Foros del Web. Hola gente! Armé mi galería de fotos con una base de datos en la cual solo guardo el nombre del archivo (no el archivo) y ...
  #1 (permalink)  
Antiguo 12/09/2005, 14:13
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 15 años, 7 meses
Puntos: 1
Galería de fotos y BBDD - Mostrar resultados segun el directorio

Hola gente! Armé mi galería de fotos con una base de datos en la cual solo guardo el nombre del archivo (no el archivo) y después la llamo desde una consulta para que me la muestre.

La tabla IMAGENES tiene 4 campos: id, year, orden, foto.
En year va el año a la que corresponde (2002, 2003, 2004 ó 2005) y en orden va 1...(10 fotos), 2...(10 fotos), 3...(10 fotos) según la cantidad de fotos que corresponda a cada número musical.

Las fotos están guardadas en directorios:
directorio 2005 = 300 fotos (10 fotos por cada número musical) 1=10 2=10 3=10
directorio 2004 = 300 fotos (10 fotos por cada número musical) idem
directorio 2003 = 300 fotos (10 fotos por cada número musical) idem
etc...

Ahora... yo hice lo siguiente:
En un html puse un link que dice GRUPO DE FOTOS MUSICAL 1 y el link contiene esto imagenes.php?year=2004/. O sea que apunta a imagenes.php y le paso la variable del mismísimo directorio.

Quien la recibe, imagenes.php contiene esto:
Código PHP:
include ("cnx.php");
$CantxCol = 4;
$Cant = 0;

$directorio = $_GET['year'];

// conexion a la base
$conexion = mysql_connect($host_db, $usuario_db, $pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db, $conexion) or die ("no se ha podido seleccionar la BD");

// Ejecuto la consulta
$sql = "SELECT * FROM festival";
$consulta = mysql_query($sql, $conexion);

// Muestro los registros
if ($consulta)
{
    while($fila=mysql_fetch_assoc($consulta))
    {

?>
      <td colspan="8" align="center"><table border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><img src="resize.php?img=<?php echo $directorio.$fila['foto']; ?>" border="0"></td>
          </tr>
      </table></td>
      <?php $Cant $Cant 1?>
      <?php if (($Cant $CantxCol) == 0){?>
         </tr>
          <tr>
            <td colspan="8" align="center"><img src="/festival/trans_1x1.gif" width="1" height="6"></td>
          </tr>
         <tr>
      <?php } else { ?>
    <td colspan="8" align="center"><img src="/festival/trans_1x1.gif" width="1" height="6"></td>
      <?php ?>
<?
    
}
    
//libero el recordset
    
mysql_free_result($consulta);
}

// Cierro la conexion
mysql_close($conexion);
Por supuesto, me aparecen los thumbails porque ya pasaron por resize.php y de a 4 por fila.
Hasta acá me funcionó todo bárbaro, con la diferencia que me trae todas las fotos.
En el tag img le paso echo $directorio.$fila['foto']; donde me lo pasa como 2004/ para que vaya a ese directorio, pero no sé si estoy haciendolo bien.

Lo que hice también fue pasarle por url la variable de la columna orden para que me traiga por ejemplo solo los de orden=1. Lo hice así:

imagenes.php?year=2004/&cod=1

...y de imágenes lo tomo así:

Código PHP:
// acá va el include de la conexion...

$directorio $_GET['year'];
$cod $_GET['orden'];

// conexion a la base
.......

// Ejecuto la consulta
$sql "SELECT * FROM festival WHERE orden = $cod";
$consulta mysql_query($sql$conexion);

// Muestro los registros
if ($consulta)
{
    while(
$fila=mysql_fetch_assoc($consulta))
    {

//...todo lo que sigue expuesto anteriormente...
....... 
...pero no hace nada.

¿Estoy haciendo algo mal?
¿Cómo hago para seleccionar el directorio y pasarle el numero de orden para que me muestre las fotos de ese grupo?

Desde ya muchas gracias a todos y espero me ayuden.

Saludos.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
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 20:05.