Foros del Web » Programando para Internet » PHP »

Visualizador de imagenes (anterior y siguiente) con base de datos

Estas en el tema de Visualizador de imagenes (anterior y siguiente) con base de datos en el foro de PHP en Foros del Web. Hola foreros, Lo que necesito en esta ocasión es: Un Visualizador de imagenes con anterior y siguiente al estilo de los shoppingcarts de productos que ...
  #1 (permalink)  
Antiguo 05/01/2010, 16:17
 
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Visualizador de imagenes (anterior y siguiente) con base de datos

Hola foreros,
Lo que necesito en esta ocasión es:
Un Visualizador de imagenes con anterior y siguiente al estilo de los shoppingcarts de productos que se muestra la imagen y con las flechitas se pueden ver otras imagenes del mismo producto.

Yo ya lo he hecho con dreamweaver con (el paginador de datos de [First Previous Next Last]) y al mostrar los datos poniendole el limite de un solo registro a la vez. (No se si habra otra manera)

* Pero esta vez quiero mostrar varios visualizadores de imágenes en la misma pagina. y ahi si ya no me funciono el paginador, ya que solo registra en una variable url el numero de paginas actual y total. (Ya intente haciendoles variables dinamicas asi $pageNum_RECORDSET_IMAGENES{$row_RECORDSET_PRODUCT OS['Id']} pero me funciono a medias, porque se cambia la imagen haciendole click en el boton next del visualizador anterior y no funciona el primero y el ultimo, en resumen si no me entienden no me funciono)

* En resumen lo que necesito como dije es que en una sola pagina haya varios visualizadores de imagenes con botones prev y next que cojan de una base de datos

Gracias de antemano por su ayuda y espero haberme podido explicar.
  #2 (permalink)  
Antiguo 05/01/2010, 16:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Visualizador de imagenes (anterior y siguiente) con base de datos

¿Pero que haz hecho? O sea me refiero tienes algún código que hayas por lo menos comenzado.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 05/01/2010, 16:48
 
Fecha de Ingreso: septiembre-2007
Mensajes: 5
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Visualizador de imagenes (anterior y siguiente) con base de datos

Hola!, haber si entiendo, necesitarias que en una pagina aparezcan varios articulos con sus imagenes y cada una tenga un boton de next y prev para ver mas imagenes?, esto se puede lograr con ajax y mysql, si tenes algo que hiciste ponelo asi vemos.

un abrazo
  #4 (permalink)  
Antiguo 06/01/2010, 09:27
 
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta

Lo que en realidad tengo es una pagina de testimonios en la que esta el nombre de la persona testimonio, su foto y "fotos de sus departamentos".
Esta es la página: http://www.homevega.com/vega/nuestros_clientes.php
que como se puede ver esta la secuencia de fotos que no valen a la derecha.

Aqui le tengo con las variables dinamicas que al final de cada variable le pongo el Id unico de cada record quendando algo asi:
?pageNum_REC_nuestros_clientes_imagenes3=1&totalRows_REC_nuestros_clientes_imagenes=5

Y lo que note es que si uno hace click en next por ejemplo de Flor Maria Palomeque no se cambia la foto pero se activa el first y el prev, y luego si se hace click en next del record anterior (Agustin Delgado) ahi si se cambian las fotos pero del siguiente (Flor Maria Palomeque).

Y mi código es este:
Código:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
  <td width="231" align="left" valign="top"><table width="231" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td height="171" align="center" valign="middle" class="sucursalesm1" id="sucursales_contenido"><?php include('sucursales_main.php')?></td>
    </tr>
  </table></td>
  <td width="9" align="left" valign="top"></td>
  <td width="700" align="left" valign="top"><table width="700" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td colspan="3" align="left" valign="top">
<h2>Nuestros Clientes</h2><br />
<?php do { ?>
	<?php 
    $currentPage = $_SERVER["PHP_SELF"];
    $colname_clienteId_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $row_REC_nuestros_clientes['Id'];
    if (isset($_GET['Id'])) {
    $colname_clienteId_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $_GET['Id'];
    }
    mysql_select_db($database_con_db_vega, $con_db_vega);
    $query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = sprintf("SELECT tbl_imagenes.* FROM tbl_imagenes JOIN tbl_nuestros_clientes ON tbl_imagenes.Id_otra_tabla = tbl_nuestros_clientes.Id WHERE tbl_imagenes.estado = '1' AND tbl_imagenes.seccion = 'Nuestros Clientes' AND tbl_nuestros_clientes.Id = %s ORDER BY tbl_imagenes.orden ASC", GetSQLValueString($colname_clienteId_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, "int"));
    $query_limit_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = sprintf("%s LIMIT %d, %d", $query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $startRow_REC_nuestros_clientes_imagenes, $maxRows_REC_nuestros_clientes_imagenes);
    $REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = mysql_query($query_limit_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $con_db_vega) or die(mysql_error());
    $row_REC_nuestros_clientes_imagenes = mysql_fetch_assoc($REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});
    
    $maxRows_REC_nuestros_clientes_imagenes = 1;
    $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = 0;
    if (isset($_GET['pageNum_REC_nuestros_clientes_imagenes'.$row_REC_nuestros_clientes['Id']])) {
    $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $_GET['pageNum_REC_nuestros_clientes_imagenes'.$row_REC_nuestros_clientes['Id']];
    }
    $startRow_REC_nuestros_clientes_imagenes = $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} * $maxRows_REC_nuestros_clientes_imagenes;
    
    if (isset($_GET['totalRows_REC_nuestros_clientes_imagenes'])) {
    $totalRows_REC_nuestros_clientes_imagenes = $_GET['totalRows_REC_nuestros_clientes_imagenes'];
    } else {
    $all_REC_nuestros_clientes_imagenes = mysql_query($query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});
    $totalRows_REC_nuestros_clientes_imagenes = mysql_num_rows($all_REC_nuestros_clientes_imagenes);
    }
    $totalPages_REC_nuestros_clientes_imagenes = ceil($totalRows_REC_nuestros_clientes_imagenes/$maxRows_REC_nuestros_clientes_imagenes)-1;
    
    $queryString_REC_nuestros_clientes_imagenes = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
    $params = explode("&", $_SERVER['QUERY_STRING']);
    $newParams = array();
    foreach ($params as $param) {
    if (stristr($param, "pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']) == false && 
        stristr($param, "totalRows_REC_nuestros_clientes_imagenes") == false) {
      array_push($newParams, $param);
    }
    }
    if (count($newParams) != 0) {
    $queryString_REC_nuestros_clientes_imagenes = "&" . htmlentities(implode("&", $newParams));
    }
    }
    $queryString_REC_nuestros_clientes_imagenes = sprintf("&totalRows_REC_nuestros_clientes_imagenes=%d%s", $totalRows_REC_nuestros_clientes_imagenes, $queryString_REC_nuestros_clientes_imagenes);
    ?>
    <p style="clear:both;"><h3><?php echo $row_REC_nuestros_clientes['cliente']; ?></h3>
		<?php if (isset($row_REC_nuestros_clientes['imagen']) && !empty($row_REC_nuestros_clientes['imagen'])){ ?><img src="admin/<?php echo $row_REC_nuestros_clientes['imagen']; ?>" border="1" align="left" style="margin-right:10px; max-height:150px; border:double 3px #114B9A;" /><?php }?>
        <table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
        <tr>
        <td align="center"><img src="admin/<?php echo $row_REC_nuestros_clientes_imagenes['imagen']; ?>" width="100" height="149" border="0" style="margin-left:10px; max-height:150px; border:double 3px #114B9A;" /></td>
        </tr>
        <tr>
        <td align="center"><table border="1" cellpadding="5" style="border-collapse:collapse;">
        <tr>
        <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} > 0) { // Show if not first page ?>
        <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, 0, $queryString_REC_nuestros_clientes_imagenes); ?>">First</a>
        <?php } // Show if not first page ?></td>
        <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} > 0) { // Show if not first page ?>
        <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, max(0, $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} - 1), $queryString_REC_nuestros_clientes_imagenes); ?>">Previous</a>
        <?php } // Show if not first page ?></td>
        <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} < $totalPages_REC_nuestros_clientes_imagenes) { // Show if not last page ?>
        <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, min($totalPages_REC_nuestros_clientes_imagenes, $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} + 1), $queryString_REC_nuestros_clientes_imagenes); ?>">Next</a>
        <?php } // Show if not last page ?></td>
        <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} < $totalPages_REC_nuestros_clientes_imagenes) { // Show if not last page ?>
        <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, $totalPages_REC_nuestros_clientes_imagenes, $queryString_REC_nuestros_clientes_imagenes); ?>">Last</a>
        <?php } // Show if not last page ?></td>
        </tr>
        </table></td>
        </tr>
        </table>
    <?php echo $row_REC_nuestros_clientes['comentario']; ?><br /></p><br /><hr /><br />
<?php } while ($row_REC_nuestros_clientes = mysql_fetch_assoc($REC_nuestros_clientes)); ?>
          </td>
        </tr>
        <tr>
          <td height="8" colspan="3"></td>
        </tr>
        <tr>
          <td width="268" align="left" valign="middle"><img src="images/tu_cocina_banner_1_01.jpg" width="268" height="113" border="0" /></td>
          <td width="211" align="center" valign="middle"><img src="images/tu_cocina_banner_2_01.jpg.jpg" width="191" height="113" border="0" /></td>
          <td width="221" align="right" valign="middle"><img src="images/tu_cocina_banner_3_01.jpg.jpg" width="228" height="113" border="0" /></td>
        </tr>
        <tr>
          <td height="8" colspan="3" align="center" valign="middle"></td>
        </tr>
      </table></td>
    </tr>
  </table>
Gracias si pueden hecharme una mano

O tal vez con alguna otra solución diferente, cualquier ayuda gracias

Última edición por GatorV; 06/01/2010 a las 16:43
  #5 (permalink)  
Antiguo 06/01/2010, 13:15
 
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Visualizador de imagenes (anterior y siguiente) con base de datos

Bueno ya lo pude resolver. La solución era la misma que hice (cree recordsets dinamicos y las variables dinamicas) pero problamente lo trate de hacer muy rapido y me fallo en algo, asi que lo hice nuevamente con calma desde cero.
Ahora le voy a hacer ajax para que no se recargue la pagina y me quedará listo.
Gracias de todas maneras por su interes

Aqui dejo mi codigo funcionando por si alguien lo necesita:
Código:
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="231" align="left" valign="top"><table width="231" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td height="171" align="center" valign="middle" class="sucursalesm1" id="sucursales_contenido"><?php include('sucursales_main.php')?></td>
                </tr>
              </table></td>
              <td width="9" align="left" valign="top"></td>
              <td width="700" align="left" valign="top"><table width="700" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td colspan="3" align="left" valign="top">
               	      <h2>Nuestros Clientes</h2><br />
                      <?php do { ?>
                        <?php
							$maxRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = 1;
$pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = 0;
if (isset($_GET["pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}"])) {
  $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $_GET["pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}"];
}
$startRow_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} * $maxRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']};

mysql_select_db($database_con_db_vega, $con_db_vega);
$query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = "SELECT tbl_imagenes.* FROM tbl_imagenes JOIN tbl_nuestros_clientes ON tbl_imagenes.Id_otra_tabla = tbl_nuestros_clientes.Id WHERE tbl_imagenes.estado = '1' AND tbl_imagenes.seccion = 'Nuestros Clientes' AND tbl_nuestros_clientes.Id = ".$row_REC_nuestros_clientes['Id']." ORDER BY tbl_imagenes.orden ASC";
$query_limit_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = sprintf("%s LIMIT %d, %d", $query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $startRow_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $maxRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});
$REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = mysql_query($query_limit_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $con_db_vega) or die(mysql_error());
$row_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = mysql_fetch_assoc($REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});

if (isset($_GET["totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}"])) {
  //echo("@".$_GET["totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}"]."@");
  $totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = $_GET["totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}"];
} else {
  $all_REC_nuestros_clientes_imagenes = mysql_query($query_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});
  $totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = mysql_num_rows($all_REC_nuestros_clientes_imagenes);
}
$totalPages_REC_nuestros_clientes_imagenes = ceil($totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}/$maxRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']})-1;

$queryString_REC_nuestros_clientes_imagenes = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']) == false && 
        stristr($param, "totalRows_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']) == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_REC_nuestros_clientes_imagenes = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_REC_nuestros_clientes_imagenes = sprintf("&totalRows_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $totalRows_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}, $queryString_REC_nuestros_clientes_imagenes);
					  ?>
                          <p style="clear:both;"><h3><?php echo $row_REC_nuestros_clientes['cliente']; ?></h3>
                        <?php if (isset($row_REC_nuestros_clientes['imagen']) && !empty($row_REC_nuestros_clientes['imagen'])){ ?><img src="admin/<?php echo $row_REC_nuestros_clientes['imagen']; ?>" border="1" align="left" style="margin-right:10px; max-height:150px; border:double 3px #114B9A;" /><?php }?><table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
        <tr>
        <td align="center"><?php do { ?><img src="admin/<?php echo $row_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']}['imagen']; ?>" height="150" border="0" style="margin-left:10px; max-height:150px; border:double 3px #114B9A;" /><?php } while ($row_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} = mysql_fetch_assoc($REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']})); ?><br />
          a
          <table border="0">
            <tr><?php //".$row_REC_nuestros_clientes['Id']." ?>
              <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, 0, $queryString_REC_nuestros_clientes_imagenes); ?>">First</a>
                  <?php } // Show if not first page ?></td>
              <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, max(0, $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} - 1), $queryString_REC_nuestros_clientes_imagenes); ?>">Previous</a>
                  <?php } // Show if not first page ?></td>
              <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} < $totalPages_REC_nuestros_clientes_imagenes) { // Show if not last page ?>
                  <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, min($totalPages_REC_nuestros_clientes_imagenes, $pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} + 1), $queryString_REC_nuestros_clientes_imagenes); ?>">Next</a>
                  <?php } // Show if not last page ?></td>
              <td><?php if ($pageNum_REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']} < $totalPages_REC_nuestros_clientes_imagenes) { // Show if not last page ?>
                  <a href="<?php printf("%s?pageNum_REC_nuestros_clientes_imagenes".$row_REC_nuestros_clientes['Id']."=%d%s", $currentPage, $totalPages_REC_nuestros_clientes_imagenes, $queryString_REC_nuestros_clientes_imagenes); ?>">Last</a>
                  <?php } // Show if not last page ?></td>
            </tr>
          </table>
		a</td>
        </tr>
        <tr>
        <td align="center">&nbsp;</td>
        </tr>
        </table><?php echo $row_REC_nuestros_clientes['comentario']; ?><br /></p><br /><hr /><br />
                        <?php
        					mysql_free_result($REC_nuestros_clientes_imagenes{$row_REC_nuestros_clientes['Id']});
        				?>
						<?php } while ($row_REC_nuestros_clientes = mysql_fetch_assoc($REC_nuestros_clientes)); ?>
                  </td>
                </tr>
                <tr>
                  <td height="8" colspan="3"></td>
                </tr>
                <tr>
                  <td width="268" align="left" valign="middle"><img src="images/tu_cocina_banner_1_01.jpg" width="268" height="113" border="0" /></td>
                  <td width="211" align="center" valign="middle"><img src="images/tu_cocina_banner_2_01.jpg.jpg" width="191" height="113" border="0" /></td>
                  <td width="221" align="right" valign="middle"><img src="images/tu_cocina_banner_3_01.jpg.jpg" width="228" height="113" border="0" /></td>
                </tr>
                <tr>
                  <td height="8" colspan="3" align="center" valign="middle"></td>
                </tr>
              </table></td>
            </tr>
          </table>

Etiquetas: imagenes, siguiente, anteriores
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:35.