elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 2 3 [4]
31  Programación / Desarrollo Web / Re: Problema con una consulta no funciona Distinct en: 5 Abril 2016, 02:12 am
Hola muchas gracias por responder e intentar ayudarme…. He probado hacer los ajustes que me recomiendan, pero el resultado lamentablemente sigue igual,  incluso en algunos casos aplicando los cambios, el resultado es que se desaparece algunas galerías de fotos y se mezclan todos los resultados en las diferentes categorías de forma idéntica… con estas consultas

Código
  1. 1
  2.  
  3. "SELECT DISTINCT
  4.  galerias.IDGALERIA,
  5.  galerias.FKCATEGORIA_ID,
  6.  galerias.DESCRIPCION,
  7.  galerias.NOMBRECATEGORIA,
  8.  galerias.TITULO,
  9.  DATE_FORMAT( galerias.FECHA_ALTA, '%d/%m/%Y' ) AS FECHA_ALTA,
  10.  categoria.IDCATEGORIA,
  11.  categoria.NOMBRE_CATEGORIA  
  12.  
  13.  
  14. FROM galerias INNER JOIN categoria ON galerias.NOMBRECATEGORIA = categoria.NOMBRE_CATEGORIA
  15. WHERE galerias.NOMBRECATEGORIA='$id'";
  16.  
  17. ----------------------------------------------------------------------------------
  18. 2
  19.  
  20. "SELECT DISTINCT
  21.  galerias.IDGALERIA,
  22.  galerias.FKCATEGORIA_ID,
  23.  galerias.DESCRIPCION,
  24.  galerias.NOMBRECATEGORIA,
  25.  galerias.TITULO,
  26.  DATE_FORMAT( galerias.FECHA_ALTA, '%d/%m/%Y' ) AS FECHA_ALTA,
  27.  categoria.IDCATEGORIA,
  28.  categoria.NOMBRE_CATEGORIA  
  29.  
  30.  
  31. FROM galerias INNER JOIN categoria ON galerias.NOMBRECATEGORIA='$id' AND categoria.NOMBRE_CATEGORIA = '$id'";

y el resultado es este: Lo que está en rojo es el valor devuelto, y lo que está en azul es como debería estar (con este resultado les muestro que no tengo solo una categoría de galerías fotográficas)

PD: deje tal cual la fecha ya que con el cambio propuesto este dejaba de mostrarse



Resumen: tengo 3 galerías Retrato, 2 galerías Moda, y 1 galería Infantil. Total 6 galerías creadas… hasta el momento solo veo 5 galerías juntas sin orden y todas aparecen de igual forma por cada pagina de cada categoría

Ahora voy a dejar el código completo ya que entremedio hay otras consultas de otras tablas que tal vez puedan estar generando conflicto…

Este es para el menú donde llamo a las categorías, y se impriman en pantalla por su nombre:

index.php

Código
  1. <?php
  2. include('panel/_setup.php');
  3.  
  4. $consulta =<<<SQL
  5. SELECT DISTINCT
  6.     IDCATEGORIA,
  7.     NOMBRE_CATEGORIA
  8. FROM
  9.     categoria
  10.  
  11. INNER JOIN galerias ON categoria.IDCATEGORIA=galerias.FKCATEGORIA_ID
  12.  
  13. ORDER BY
  14. IDCATEGORIA ASC
  15.  
  16. SQL;
  17.  
  18. $filas = mysqli_query($cnx, $consulta);
  19.  
  20. ?>
  21.  
  22. <title>Galerías</title>
  23. <link rel="stylesheet" href="css/stylenew.css"/>
  24. </head>
  25.  
  26. <body>
  27. <div id="principal">
  28. <h1>Selección de Categorias</h1>
  29.       <?php
  30.  
  31.  
  32. while( $id = mysqli_fetch_assoc($filas)){
  33.     echo '<div>';
  34. echo "<a href='galeria-fotografica.php?cat=$id[NOMBRE_CATEGORIA]'>$id[NOMBRE_CATEGORIA]</a>";
  35. echo '</div>';
  36. }
  37. ?>
  38.  
  39. </div>

Resultado: galería-fotografica.php?cat=Retrato
               galería-fotografica.php?cat=Moda
               galería-fotografica.php?cat=Infantiles


y el otro código donde esta la consulta que me da problemas:

galeria-fotografica.php

Código
  1. <?php
  2. include('panel/_setup.php');
  3.  
  4. ?>
  5. <title>Galerías</title>
  6. <link rel="stylesheet" href="css/stylenew.css"/>
  7. </head>
  8.  
  9. <body>
  10. <div id="principal">
  11.  
  12. <?php
  13.    if( isset( $_GET['gal'] ) ){
  14. $id = $_GET['gal'];
  15. $consulta = "SELECT DESCRIPCION, TITULO FROM galerias WHERE IDGALERIA='$id'";
  16. $filas = mysqli_query($cnx, $consulta);
  17. $col = mysqli_fetch_assoc($filas);
  18.  
  19. echo "<h2>$col[TITULO]</h2>";
  20.        echo "<p>$col[DESCRIPCION]</p>";
  21.        echo '<a href="javascript:history.back(-1);" title="Ir la página anterior">VOLVER ATRAS</a>';
  22.        echo '<div id="ver_galeria">';
  23.  
  24.        $consulta ="SELECT * FROM FOTOS WHERE FKGALERIA='$id' AND ESTADO='visible' ORDER BY POSICION";
  25.        $filas = mysqli_query($cnx, $consulta);
  26.        while( $col = mysqli_fetch_assoc($filas)){
  27. echo '<div>';
  28. echo '<img src="fotos/'.$col['ARCHIVO'].'" alt="'.$col['NOMBRE'].'" />';
  29.  
  30. echo '</div>';
  31.  }
  32.          echo '</div>';  
  33.  
  34.  
  35. }else{
  36.  
  37.  
  38. if( isset( $_GET['cat'] ) ){  
  39.    $id = $_GET['cat'];
  40.        $consulta ="SELECT DISTINCT
  41.                         galerias.IDGALERIA,
  42.         galerias.FKCATEGORIA_ID,
  43.         galerias.DESCRIPCION,
  44. galerias.NOMBRECATEGORIA,
  45. galerias.TITULO,
  46.         DATE_FORMAT( galerias.FECHA_ALTA, '%d/%m/%Y' ) AS FECHA_ALTA,
  47. categoria.IDCATEGORIA,
  48.                         categoria.NOMBRE_CATEGORIA  
  49.  
  50.  
  51. FROM galerias INNER JOIN categoria ON galerias.NOMBRECATEGORIA='$id' AND categoria.NOMBRE_CATEGORIA = '$id'";
  52.  
  53.  
  54. $filas = mysqli_query($cnx, $consulta);
  55. $columna = mysqli_fetch_assoc($filas);
  56. echo "<h1>Galerías $columna[NOMBRECATEGORIA]</h1>";
  57.  
  58. }
  59. echo '<div id="listado">';
  60. while( $columna = mysqli_fetch_assoc($filas)){
  61.  $id = $columna['IDGALERIA'];
  62.  $subconsulta = "SELECT ARCHIVO FROM fotos WHERE FKGALERIA='$id' AND ESTADO='visible' ORDER BY RAND() LIMIT 1";
  63.  $filas2 = mysqli_query($cnx, $subconsulta);
  64.  $datos = mysqli_fetch_assoc($filas2);
  65.  
  66.  $nombre_archivo = $datos['ARCHIVO'];
  67.  
  68.  echo '<div>';  
  69.  echo "<h2>$columna[TITULO]</h2>";
  70.  echo "<div>$columna[FECHA_ALTA]</div>";
  71.  if( $nombre_archivo != null ){
  72.  echo "<img src='fotos/$nombre_archivo' alt='Preview de la galeria' />";
  73.  }
  74.  echo "<p>". nl2br( $columna['DESCRIPCION'])."</p>";
  75.  echo "<a href='galeria-fotografica.php?gal=$columna[IDGALERIA]'>VER GALERIA</a>";
  76.  echo '</div>';
  77.  }
  78.  echo '</div>';
  79.  
  80.  
  81.  
  82.    }
  83.  
  84.  
  85. ?>
  86.  
  87.  
  88. </div>

y la info de mis tablas:

Estructura de tabla para la tabla categoria


|Columna|Tipo|Nulo|Predeterminado

IDCATEGORIA|tinyint(25)|No
NOMBRE_CATEGORIA varchar(100)|Sí NULL

Volcado de datos para la tabla categoria


|1|Retrato
|2|Moda
|3|Infantiles



Estructura de tabla para la tabla galerias


|Columna|Tipo|Nulo|Predeterminado

IDGALERIA tinyint(25) No
TITULO varchar(100) Sí NULL
FECHA_ALTA datetime Sí NULL
DESCRIPCION text Sí NULL
NOMBRECATEGORIA varchar(100) Sí NULL
FKCATEGORIA_ID tinyint(20) Sí NULL

Volcado de datos para la tabla galerias

|1|Retrato-1| 2016-03-30 14:54:27 |bla,bla,bla |Retrato  |1
|2|Infantiles-1 |2016-03-30 14:55:22 |bla,bla,bla,bla,bla,bla |Infantiles  |3
|3|Retrato-2|2016-03-30 14:57:18|bjbbbk|Retrato |1
|4|Moda-1|2016-03-30 14:59:03|hvv,vgvhjvjhv,j|Moda |2
|5|Moda-2|2016-03-30 14:59:55|vhvhv|Moda |2
|6|Retrato-3|2016-03-30 15:00:35|cttdtftdtft|Retrato |1


dejo tambien la de tabla fotos (que no creo que sea de importancia, pero porsiacaso..



Estructura de tabla para la tabla fotos


|Columna|Tipo|Nulo|Predeterminado

|IDFOTO |int(25) |No|
|NOMBRE|varchar(100)|Sí|NULL
|ARCHIVO|varchar(100)|Sí|NULL
|POSICION|tinyint(3)|Sí|NULL
|ESTADO|enum('visible', 'invisible')|Sí|NULL
|FKGALERIA|tinyint(3)|Sí|NULL

Volcado de datos para la tabla fotos

|1|gdrgdrg |6ebbdb026d9c9.jpg|1|visible|1
|2|hajhajhjsh |fe4ba595921ffbbdd8.jpg|2|visible|1
|3|ajajskanka |d4cc19c8fbfdbe.jpg|1|visible|2
|4|nnjnjnjn |3d52dc1b7b.jpg|2|visible|2
|5|jojojojo |ab5788e01f4.jpg|1|visible|3
|6|knknknk |430ca7182b3.jpg|2|visible|3
|7|ububu |ad5d51bea35ff.jpg|1|visible|4
|8|addwbdb |b93635e8e092.jpg|2|visible|4
|9|sincinansn|6ba1b35d71d4d519748e9aa8b42c07f1.jpg|1|visible|5
|10|scknakcnkasnc|4dee3e3a41c53fd82de1b3227d1df372.jpg|2|visible|5
|11|sjcjsajcbjasbcjab|bf681c114a1f857ab8883143f4660246.jpg|1|visible|6
|12|scsjcnjasncj|629eef20bc75c576e931cc181296a3d7.jpg|2|visible|6


Espero estos datos puedan aportar mayor ayuda... espero con ansias sus respuestas.. muchas gracias de verdad.!
32  Programación / Desarrollo Web / Re: Problema con una consulta no funciona Distinct en: 5 Abril 2016, 00:33 am
 :o Ohh gracias se pasaron voy a probar de inmediato toda estas respuestas que me han entregado... mil gracias, les comento pronto los resultados.!!
33  Programación / Desarrollo Web / Re: Problema con una consulta no funciona Distinct en: 3 Abril 2016, 21:46 pm
cambiando la consulta o forma seria opción?
34  Programación / Desarrollo Web / Re: Problema con una consulta no funciona Distinct en: 3 Abril 2016, 05:56 am
Gracias por tu tiempo y disponibilidad, pero la verdad esto no quiere funcionar, probé así como me dices y nada..  

Código:
"SELECT DISTINCT  
 (galerias.IDGALERIA),
  galerias.TITULO,
  galerias.DESCRIPCION,
  galerias.NOMBRECATEGORIA,
  galerias.FKCATEGORIA_ID,
  DATE_FORMAT( galerias.FECHA_ALTA, '%d/%m/%Y' ) AS galerias.FECHA_ALTA,
  categoria.IDCATEGORIA,
  categoria.NOMBRE_CATEGORIA  

FROM galerias INNER JOIN categoria ON galerias.NOMBRECATEGORIA=categoria.'$id'";

me sale esto: Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\prueba\galeria-fotografica.php on line 54

sinceramente me tiene mal la situación... que crees que pueda hacer? Gracias por tu ayuda..
35  Programación / Desarrollo Web / Re: Problema con una consulta no funciona Distinct en: 3 Abril 2016, 02:41 am
no funciona amigo, todo queda igual..  :(
36  Programación / Desarrollo Web / Problema con una consulta no funciona Distinct en: 3 Abril 2016, 02:28 am
Hola a todos, favor chicos.. estoy hace un mes tratando de poder solucionar una consulta que me está entregando registros duplicados, en algunos casos hasta triplicados… trabajo con MySqli y la verdad es que he probado de tantas formas que ya no se que más hacer... no soy programador, por ello si me explico mal favor tener paciencia vale? estas son mis tablas..

Tabla categoria:
IDCATEGORIA
NOMBRE_CATEGORIA

Tabla galerias:
IDGALERIAS
TITULO
DESCRIPCION
FECHA_ALTA
NOMBRECATEGORIA
FKCATEGORIA_ID

mi codigo:

Código:
if( isset( $_GET['cat'] ) ){  
   $id = $_GET['cat'];
        $consulta ="SELECT DISTINCT
  IDGALERIA,
  TITULO,
  DESCRIPCION,
  NOMBRECATEGORIA,
  FKCATEGORIA_ID,
  DATE_FORMAT( FECHA_ALTA, '%d/%m/%Y' ) AS FECHA_ALTA,
  IDCATEGORIA,
  NOMBRE_CATEGORIA  

FROM galerias a INNER JOIN categoria b ON a.NOMBRECATEGORIA='$id'";
       

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

dejo una imagen del resultado devuelto actualmente.. la tabla que se ve en rojo es lo que obtengo y la que esta en azul es lo que realmente quiero que se visualice..



Esto es el resultado de la categoría retrato, pero ocurre también en las distintas otras categorías que tengo, moda, infantiles etc… todas entregan el mismo resultado... Porfavor alguien amable me pueda ayudar.. de ante mano muchas gracias.!!
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines