Foros del Web » Programando para Internet » PHP »

Mostrar imagenes con límite

Estas en el tema de Mostrar imagenes con límite en el foro de PHP en Foros del Web. Hola, tengo una página donde se listan las imágenes de los usuarios y las muestro en horizontal, lo que quiero hacer es que al llegar ...
  #1 (permalink)  
Antiguo 29/09/2012, 05:43
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 10 meses
Puntos: 14
Mostrar imagenes con límite

Hola, tengo una página donde se listan las imágenes de los usuarios y las muestro en horizontal, lo que quiero hacer es que al llegar a la quinta imágen en un <td>, baje y cree otro <tr> para que se muestren las siguientes imágenes, y siga este comportamiento durante toda la tabla, es decir si hay 17 fotos, que muestre filas con 5 fotos y otra fila con 2 más. Os muestro el código de como lo estoy haciendo, a ver si me podéis echar una mano en esto.

Código PHP:
        <table><tr>

    <?php }

        
$sacarimagenes=mysql_query("SELECT * FROM imagenes WHERE usuario='".mysql_real_escape_string($idsesion)."' AND galeria= '".$galeria."'  ORDER BY idfoto DESC"$conexion);
while (
$imagenes mysql_fetch_array($sacarimagenes)){
    
?>
    
    
<td><a href="<?php echo "".$imagenes["5"]."";?>" rel="lightbox[plants]"> <img src="<?php echo " ".$imagenes[4]." ";?>"/></a></td>          
      
    <?php ?>
        </tr>
        </table>
Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 29/09/2012, 07:31
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: Mostrar imagenes con límite

Echa un vistazo:
Código PHP:
Ver original
  1. <?php
  2. $arr = array(
  3.     'Valor1',
  4.     'Valor2',
  5.     'Valor3',
  6.     'Valor4',
  7.     'Valor5',
  8.     'Valor6',
  9.     'Valor7',
  10.     'Valor8',
  11.     'Valor9',
  12.     'Valor10',
  13.     'Valor11',
  14.     'Valor12',
  15. );
  16.  
  17. foreach ( $arr as $key => $value )
  18. {
  19.     if ( $key % 5 === 0 )
  20.     {
  21.         echo '--';
  22.     }
  23.     echo $value . '<br>';
  24. }
  25. ?>
Los números que al dividirse entre 5 den exactos provocarán que se imprima un mensaje. Es decir, saldra -- en el 0, 5, 10, 15…
Saludos.
  #3 (permalink)  
Antiguo 29/09/2012, 09:21
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 10 meses
Puntos: 14
Respuesta: Mostrar imagenes con límite

Cita:
Iniciado por Karmac Ver Mensaje
Echa un vistazo:
Código PHP:
Ver original
  1. <?php
  2. $arr = array(
  3.     'Valor1',
  4.     'Valor2',
  5.     'Valor3',
  6.     'Valor4',
  7.     'Valor5',
  8.     'Valor6',
  9.     'Valor7',
  10.     'Valor8',
  11.     'Valor9',
  12.     'Valor10',
  13.     'Valor11',
  14.     'Valor12',
  15. );
  16.  
  17. foreach ( $arr as $key => $value )
  18. {
  19.     if ( $key % 5 === 0 )
  20.     {
  21.         echo '--';
  22.     }
  23.     echo $value . '<br>';
  24. }
  25. ?>
Los números que al dividirse entre 5 den exactos provocarán que se imprima un mensaje. Es decir, saldra -- en el 0, 5, 10, 15…
Saludos.
Muchas gracias, entonces lo que tendría que hacer es crear un <tr> en el key % 5 y otro <tr> para los demas casos?

PD: Luego pruebo lo que he dicho aunque no estoy seguro de si funcionará, gracias!
  #4 (permalink)  
Antiguo 29/09/2012, 16:54
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: Mostrar imagenes con límite

Dentro del IF (que metes dentro de tu bucle) cierra el tr actual y abre un nuevo (antes de imprimir el td), así cambiarás de línea.

Saludos.
  #5 (permalink)  
Antiguo 15/10/2012, 12:37
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 10 meses
Puntos: 14
Respuesta: Mostrar imagenes con límite

Cita:
Iniciado por Karmac Ver Mensaje
Dentro del IF (que metes dentro de tu bucle) cierra el tr actual y abre un nuevo (antes de imprimir el td), así cambiarás de línea.

Saludos.
Hola, al quedarme parado en esta sección de la página y no avanzar, decidí hacer otras partes pero ahora tengo que terminar ya esto, sigo sin poder solucionar el problema, la cosa es que no entiendo el código que tú, muy amablemente, me has facilitado, no entiendo por qué llegas hasta 12, ¿no debería ser el máximo de imágenes que hay en la bd para ese usuario?

¿En ese caso debería hacer un mysql_num_rows y luego un for para llegar al máximo?

Ojalá puedas ayudarme, no se me ocurre ni conceptualmente ni mucho menos, a la práctica, como debería hacer esto

Muchas gracias por tu interés.
__________________
Creador de Vipefy , una nueva red social con un punto de vista diferente de las relaciones sociales.
  #6 (permalink)  
Antiguo 16/10/2012, 15:05
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 10 meses
Puntos: 14
Alguien puede echarme una mano, por favor?
  #7 (permalink)  
Antiguo 17/10/2012, 13:37
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: Mostrar imagenes con límite

Cita:
Iniciado por ananda Ver Mensaje
Hola, al quedarme parado en esta sección de la página y no avanzar, decidí hacer otras partes pero ahora tengo que terminar ya esto, sigo sin poder solucionar el problema, la cosa es que no entiendo el código que tú, muy amablemente, me has facilitado, no entiendo por qué llegas hasta 12, ¿no debería ser el máximo de imágenes que hay en la bd para ese usuario?

¿En ese caso debería hacer un mysql_num_rows y luego un for para llegar al máximo?

Ojalá puedas ayudarme, no se me ocurre ni conceptualmente ni mucho menos, a la práctica, como debería hacer esto

Muchas gracias por tu interés.
Ese array solamente representa al resultado de tu consulta, es decir, lo que te devuelve mysql_fetch_array
Tu guardas el array en una variable y lo pasas por un bucle posteriormente. Si el bucle es foreach y el segundo argumento de mysql_fetch_array equivale a la constante MYSQL_NUM, tendrás en número de fila como $key.

Utiliza print_r() para ver que forma tiene tu array, y así poder adaptar el bucle.

Código PHP:
Ver original
  1. $rows = mysql_fetch_array( $query, MYSQL_NUM );
  2. print_r( $rows );

Debería salir algo del estilo del array del código que te pasé. Saludos.

Etiquetas: imagenes, mysql, sql, tabla, usuarios
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




La zona horaria es GMT -6. Ahora son las 22:40.