Estaba desarrollando esta página con un amigo, entendido en esta materia, pero por cosas de la vida el ya no está. Estoy trabajando con php y mysqli, y he desarrollado unas galerías de fotos con sus respectivas categorías… en la base de datos tengo una tabla llamada categoría, otra tabla llamada galerías y otra tabla llamada fotos.
Al momento de crear las nuevas galerías y querer mostrarlas en una página con su categoría respectiva, como; galería_moda.php – galería_retrato.php es lo que no sé hacer… hasta el momento tengo dos galerías creadas con diferente categoría, pero cuando las envió a la página galería_moda.php me aparecen todas las galerías, sin distinguir o separar las categorías.
En el código que dejo a continuación es como estoy llamando a las galerías, para que sean visualizadas por el usuario, pero con este código me aparecen todas, sin distinguir la categoría que realmente quiero mostrar ahí…
Sé que necesito hacer bien la consulta, no está completa para la finalidad que busco… anidarla tal vez, pero realmente nos e cómo hacerlo. La tabla de categoría tiene la columna IDCATEGORIA y NOMBRE_CATEGORIA
Código HTML:
<?php include('panel/_setup.php'); ?> <!doctype html> <html lang="es-ES"> <head> <meta charset="utf-8"> <title>Galerías</title> <link rel="stylesheet" href="css/stylenew.css"/> </head> <body> <div id="principal"> <h1>Galeria Moda</h1> <?php if( isset( $_GET['gal'] ) ){ $id = $_GET['gal']; $consulta = "SELECT DESCRIPCION, TITULO, FKCATEGORIA FROM galerias WHERE IDGALERIA='$id'"; $filas = mysqli_query($cnx, $consulta); $col = mysqli_fetch_assoc($filas); echo "<h2>$col[TITULO]</h2>"; echo "<p>$col[DESCRIPCION]</p>"; echo '<a href="galeria_moda.php">VOLVER ATRAS</a>'; echo '<div id="ver_galeria">'; $consulta ="SELECT * FROM FOTOS WHERE FKGALERIA='$id' AND ESTADO='visible' ORDER BY POSICION"; $filas = mysqli_query($cnx, $consulta); while( $col = mysqli_fetch_assoc($filas)){ echo '<div>'; echo '<img src="fotos/'.$col['ARCHIVO'].'" alt="'.$col['NOMBRE'].'" />'; echo '</div>'; } echo '</div>'; }else{ $consulta =<<<SQL SELECT IDGALERIA, TITULO, DESCRIPCION, FKCATEGORIA, DATE_FORMAT( FECHA_ALTA, '%d/%m/%Y' ) FECHA FROM galerias ORDER BY FECHA_ALTA DESC SQL; $filas = mysqli_query( $cnx, $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($cnx, $subconsulta); $datos = mysqli_fetch_assoc($filas2); $nombre_archivo = $datos['ARCHIVO']; echo '<div>'; echo "<h2>$columna[TITULO]</h2>"; echo "<div>$columna[FECHA]</div>"; if( $nombre_archivo != null ){ echo "<img src='fotos/$nombre_archivo' alt='Preview de la galeria' />"; } echo "<p>". nl2br( $columna['DESCRIPCION'])."</p>"; echo "<a href='galeria_moda.php?gal=$columna[IDGALERIA]'>VER GALERIA</a>"; echo '</div>'; } echo '</div>'; } ?> </div> </body> </html>
Alguno de ustedes me pudiera ayudar a modificar el código que realmente necesito? para que se visulazen las galerías solo de su respectiva categoría... si se necesita más información de otros codigos favor solicitarlos.. Gracias de ante mano a quien me pueda ayudar...