tengo dos tablas
galeria:
Id
titulo
fecha
descripcion
fotos:
id
nombre
archivo
posicion
estado 'visible' o 'invisible'
fxgaleria (id de la galeria para la foto a ingresar)
siguiendo videos tutoriales logre armar la galeria en dos partes panel del administrador y la pagina del usuario, la primera me funciona perfecto e incluso puedo ver las previas de las imagenes de esa galeria pero al mostrarle la galeria al usuario me muestra solo la imagen de entrada mas no las imagenes dentro de la galeria en si.
a ver si me explico mejor con el codigo:
Pagina del usuario donde me presenta el problema, hago la consulta de la tabla y muestro el archivo mas no me genera nada y tampoco me da error solo se queda en blanco.
Cita:
<?php //website
include ('_setup.php');
?>
<!DOCTYPE HTML>
<html lang="es-ES">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="website.css" />
<title>Mi Galeria</title>
</head>
<body>
<h1 id="h1">Catalogo de Productos</h1>
<br><br>
<div id="principal">
<?php
if ( isset($_GET['gal']) ) { //condicion para que solo muestre la galeria que el usuario quiere ver
$id = $_GET['gal'];
$consulta = "SELECT DESCRIPCION, TITULO FROM galeria WHERE IDGALERIA='$id'"; // primera consulta para mostrar titulo y descripcion de la galeria que se visualiza
$filas = mysqli_query($conexion, $consulta);
$col = mysqli_fetch_assoc($filas);
echo "<h2>$col[TITULO]</h2>";
echo "<p>$col[DESCRIPCION]</p>";
echo "<a href='index.php' alt=''>VOLVER</a>";
echo '<div id="ver_galeria">';
$consulta = "SELECT ARCHIVO FROM fotos WHERE FKGALERIA='$id' AND
ESTADO='VISIBLE' ORDER BY POSICION LIMIT 1"; //2da consulta donde llamo a los archivos almacenados en la tabla
$filas = mysqli_query($conexion, $consulta);
while ($columna = mysqli_fetch_assoc($filas)){
echo '<div';
echo "<img src='fotos/$columna[ARCHIVO]' />"; //aqui me mostraria las fotos dentro de la tabla y no lo hace
echo '</div';
}
echo '</div>';
}
else { //si no mostrara todas las galerias disponibles
$consulta =<<<SQL
SELECT
IDGALERIA,
TITULO,
DATE_FORMAT( FECHA_ALTA, '%d/%m/%Y') FECHA
FROM
galeria
ORDER BY
FECHA_ALTA DESC
SQL;
$filas = mysqli_query($conexion, $consulta);
echo '<div id="listado">';
while ($columna = mysqli_fetch_assoc($filas)){
$id = $columna['IDGALERIA'];
$subconsulta = "SELECT ARCHIVO FROM fotos WHERE FKGALERIA='$id' AND ESTADO='VISIBLE' ORDER BY RAND() LIMIT 1";
$filas2 = mysqli_query($conexion, $subconsulta);
$datos = mysqli_fetch_assoc($filas2);
$nombre_archivo = $datos['ARCHIVO'];
echo '<div>';
echo "<h4>$columna[TITULO]</h4>";
echo '<div class="image_viewer" align="center">';
if ($nombre_archivo != null ){
echo "<img src='fotos/$nombre_archivo' height='100' wight='100' />";
}
echo '</div>';
echo "<center><a href='index.php?gal=$columna[IDGALERIA]'>Ver Galeria</a></center>";
echo '</div>';
}
echo '</div>';
}
?>
</div>
</body>
</html>
include ('_setup.php');
?>
<!DOCTYPE HTML>
<html lang="es-ES">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="website.css" />
<title>Mi Galeria</title>
</head>
<body>
<h1 id="h1">Catalogo de Productos</h1>
<br><br>
<div id="principal">
<?php
if ( isset($_GET['gal']) ) { //condicion para que solo muestre la galeria que el usuario quiere ver
$id = $_GET['gal'];
$consulta = "SELECT DESCRIPCION, TITULO FROM galeria WHERE IDGALERIA='$id'"; // primera consulta para mostrar titulo y descripcion de la galeria que se visualiza
$filas = mysqli_query($conexion, $consulta);
$col = mysqli_fetch_assoc($filas);
echo "<h2>$col[TITULO]</h2>";
echo "<p>$col[DESCRIPCION]</p>";
echo "<a href='index.php' alt=''>VOLVER</a>";
echo '<div id="ver_galeria">';
$consulta = "SELECT ARCHIVO FROM fotos WHERE FKGALERIA='$id' AND
ESTADO='VISIBLE' ORDER BY POSICION LIMIT 1"; //2da consulta donde llamo a los archivos almacenados en la tabla
$filas = mysqli_query($conexion, $consulta);
while ($columna = mysqli_fetch_assoc($filas)){
echo '<div';
echo "<img src='fotos/$columna[ARCHIVO]' />"; //aqui me mostraria las fotos dentro de la tabla y no lo hace
echo '</div';
}
echo '</div>';
}
else { //si no mostrara todas las galerias disponibles
$consulta =<<<SQL
SELECT
IDGALERIA,
TITULO,
DATE_FORMAT( FECHA_ALTA, '%d/%m/%Y') FECHA
FROM
galeria
ORDER BY
FECHA_ALTA DESC
SQL;
$filas = mysqli_query($conexion, $consulta);
echo '<div id="listado">';
while ($columna = mysqli_fetch_assoc($filas)){
$id = $columna['IDGALERIA'];
$subconsulta = "SELECT ARCHIVO FROM fotos WHERE FKGALERIA='$id' AND ESTADO='VISIBLE' ORDER BY RAND() LIMIT 1";
$filas2 = mysqli_query($conexion, $subconsulta);
$datos = mysqli_fetch_assoc($filas2);
$nombre_archivo = $datos['ARCHIVO'];
echo '<div>';
echo "<h4>$columna[TITULO]</h4>";
echo '<div class="image_viewer" align="center">';
if ($nombre_archivo != null ){
echo "<img src='fotos/$nombre_archivo' height='100' wight='100' />";
}
echo '</div>';
echo "<center><a href='index.php?gal=$columna[IDGALERIA]'>Ver Galeria</a></center>";
echo '</div>';
}
echo '</div>';
}
?>
</div>
</body>
</html>
para subir las fotos uso un formulario con campo titulo y archivo y utilizo este codigo para llamarlo
Cita:
<?php
include ('_setup.php');
$titulo = $_POST['titulo'];
$fkgaleria = $_POST['idgaleria'];
$estado = 'visible';
$nombre_file = mktime() .'.jpg';
$posicion = 0;
$consulta = <<<SQL
INSERT INTO
fotos
SET
NOMBRE='$titulo',
ARCHIVO='$nombre_file',
ESTADO='$estado',
POSICION='$posicion',
FKGALERIA='$fkgaleria'
SQL;
mysqli_query($conexion, $consulta);
$origen = $_FILES['archivo']['tmp_name'];
$destino = "fotos/$nombre_file";
move_uploaded_file ($origen, $destino);
header("Location: administrar_fotos.php?id=$fkgaleria");
?>
include ('_setup.php');
$titulo = $_POST['titulo'];
$fkgaleria = $_POST['idgaleria'];
$estado = 'visible';
$nombre_file = mktime() .'.jpg';
$posicion = 0;
$consulta = <<<SQL
INSERT INTO
fotos
SET
NOMBRE='$titulo',
ARCHIVO='$nombre_file',
ESTADO='$estado',
POSICION='$posicion',
FKGALERIA='$fkgaleria'
SQL;
mysqli_query($conexion, $consulta);
$origen = $_FILES['archivo']['tmp_name'];
$destino = "fotos/$nombre_file";
move_uploaded_file ($origen, $destino);
header("Location: administrar_fotos.php?id=$fkgaleria");
?>
y alli cuando retorna al panel si me muestra las imagenes perfecto, espero que alguien pueda ayudarme.