Problema con una consulta no funciona Distinct

Iniciado por Marciano_79, 3 Abril 2016, 02:28 AM

0 Miembros y 1 Visitante están viendo este tema.

MinusFour

#20
Sigues con el error que te he estado mencionado hace 2 posts:

Código (php) [Seleccionar]

$columna = mysqli_fetch_assoc($filas);
echo "<h1>Galerías $columna[NOMBRECATEGORIA]</h1>";

}
echo '<div id="listado">';
$filas = mysqli_query($cnx, $consulta);
while( $columna = mysqli_fetch_assoc($filas)){

 $id = $columna['IDGALERIA'];

 $datos = mysqli_fetch_assoc($filas);


No es necesario que hagas esto:

Código (php) [Seleccionar]

$columna = mysqli_fetch_assoc($filas);
echo "<h1>Galerías $columna[NOMBRECATEGORIA]</h1>";


Al hacer esto, estás descartando una hilera de resultados completa solo para obtener el nombre de la categoría. Lo único que debes hacer es:

Código (php) [Seleccionar]
echo "<h1>Galerías $GET[cat]</h1>";

O simplemente:

Código (php) [Seleccionar]
echo "<h1>Galerías $id</h1>";

Marciano_79

No tengo palabras para agradecer toda la ayuda brindada por ti MinusFour (en especial por tu paciencia)  y a todos quienes de alguna forma se intereso en ayudarme, gracias porque al fin esta la galería como tanto la quería, llevo 5 meses aprendiendo con san google php, mysql y realmente me doy cuenta que este mundo de los códigos es toda una ciencia.. mis respetos a todos los que programan de verdad.. dejo el resultado final de como me funciona al 100% bien la galeria

Código (php) [Seleccionar]
if( isset( $_GET['cat'] ) ){ 
    $id = $_GET['cat'];
        $consulta ="SELECT
    categoria.IDCATEGORIA,
            categoria.NOMBRE_CATEGORIA,
            galerias.IDGALERIA,
    galerias.TITULO,
            DATE_FORMAT( galerias.FECHA_ALTA, '%d/%m/%Y' ) AS FECHA,
            galerias.DESCRIPCION,
            fotos.ARCHIVO
FROM galerias
INNER JOIN categoria ON categoria.IDCATEGORIA = galerias.FKCATEGORIA_ID
LEFT JOIN
(SELECT * FROM (
   SELECT FKGALERIA,
  ARCHIVO
   FROM fotos
   WHERE estado = 'visible'
   ORDER BY RAND()
) AS tmp
GROUP BY tmp.FKGALERIA) AS fotos
ON galerias.IDGALERIA = fotos.FKGALERIA
WHERE categoria.NOMBRE_CATEGORIA = '$id'";   
         

echo "<h1>Galerías $id</h1>";
     $filas = mysqli_query($cnx, $consulta);
}
echo '<div id="listado">';

while( $columna = mysqli_fetch_assoc($filas)){
 
  $id = $columna['IDGALERIA'];
              $filas2 = mysqli_query($cnx, $consulta);
  $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-fotografica.php?gal=$columna[IDGALERIA]'>VER GALERIA</a>";
  echo '</div>';
  }
  echo '</div>';


Ahora estudiare sobre las inyecciones sql para la seguridad que me hablabas antes GRACIAS TOTALES.!