Foros del Web » Programando para Internet » PHP »

gererar tabla para imagenes

Estas en el tema de gererar tabla para imagenes en el foro de PHP en Foros del Web. hola gentes, tengo un script que me muestra las imagenes guardadas en un directorio, pero quiero que se muestren ordenadas en filas, de 5 en ...
  #1 (permalink)  
Antiguo 12/03/2008, 09:03
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
gererar tabla para imagenes

hola gentes, tengo un script que me muestra las imagenes guardadas en un directorio, pero quiero que se muestren ordenadas en filas, de 5 en 5, hasta ahora lo que tengo es esto:
Código PHP:
<?php
// leer imagenes en el diractorio fotos
$dir "fotos/";

$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table><tr>";
    while((
$foto readdir($getdir)) !== false){
        if(!
in_array($foto$list_ignore)){
            echo 
"<td>";
            echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
            echo 
"<img src='$dir$foto'>";
            echo 
"</td>";
        }        
    }
    echo 
"</tr></table>";
    
closedir($getdir);
}
?>
pero como puedo hacer, para que cada 5 imagenes se cree una fila (<tr>...</tr>) nueva???

gracias mil de antemano
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #2 (permalink)  
Antiguo 12/03/2008, 09:34
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: gererar tabla para imagenes

Hola:

¡Je, je!... un contador inicializado a 0 y que se incremente en cada iteración... si $contador % 5 == 0 echo "</tr></tr>"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/03/2008, 09:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: gererar tabla para imagenes

Ve esta FAQ: http://www.forosdelweb.com/f18/faqs-...00/#post240669, aunque es para un resultado de una BD lo puedes adaptar a tu script.

Saludos.
  #4 (permalink)  
Antiguo 12/03/2008, 10:49
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

valla, si que me han hecho trabajar, jejeje, creo que casi casi, pero...:
Código PHP:
<?php
// leer imagenes en el diractorio fotos
$dir "fotos/";
$explorar scandir($dir);
$totalFotos count($explorar);
$total 0;
for (
$k 0$k<=$totalFotos$k++) {
    if (
$explorar[$k] != "." && $explorar[$k] != ".." && $explorar[$k] != "index.php") {
    
$total++;
    }    
}

$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 3;
    while((
$foto readdir($getdir)) !== false){
        for(
$i 1$row $total$i++){
            
$resto = ($i $col);
            if(
$resto == 1){echo "<tr>";}
            if(!
in_array($foto$list_ignore)){
                echo 
"<td colspan='$col'>";
                echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                echo 
"<img src='$dir$foto'>";
                echo 
"</td>";
            }
            if(
$resto == 0){echo "</tr>";}    // Fatal error: Maximum execution time of 30 seconds exceeded in esta linea        
        
}
        if(
$resto <> 0){
            
$ajust $col $resto;
            for(
$j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";}
            echo 
"</tr>";
        }                    
    }
    echo 
"</table>";
    
closedir($getdir);
}
?>
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #5 (permalink)  
Antiguo 13/03/2008, 09:38
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

yo otra vez, me di cuenta de que tengo el while mal puesto o me sobra, si lo quito me genera bien la tabla, pero no termina el bucle.... por otro lado, no se que hacer con la variable $foto, ya intente de todo:
Código PHP:
<?php
// leer imagenes en el diractorio fotos
$dir "fotos/";
$explorar scandir($dir);
$totalFotos count($explorar);
$total 0;
for (
$k 0$k<=$totalFotos$k++) {
    if (
$explorar[$k] != "." && $explorar[$k] != ".." && $explorar[$k] != "index.php") {
    
$total++;
    }    
}

$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 5;
//    $foto = readdir($getdir);
//    while(($foto = readdir($getdir)) !== false){
        
for($i 1$row $total$i++){
            
$resto = ($i $col);
            if(
$resto == 1){echo "<tr>";}
            echo 
"<td colspan='$col'>";
            if(!
in_array($foto$list_ignore)){
                echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                echo 
"<img src='$dir$foto'>";
            }
            echo 
"</td>";
            if(
$resto == 0){echo "</tr>";}            
        }
        if(
$resto <> 0){
            
$ajust $col $resto;
            for(
$j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";}
            echo 
"</tr>";
        }                    
//    }
    
echo "</table>";
    
closedir($getdir);
}
?>
que estoy haciendo mal??? que me falta??? que me sobra???

__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #6 (permalink)  
Antiguo 13/03/2008, 10:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: gererar tabla para imagenes

Prueba así tu código:
Código PHP:
<?php
// leer imagenes en el diractorio fotos
$dir "fotos/";
$explorar scandir($dir);
$totalFotos count($explorar);
$total 0;
for (
$k 0$k<=$totalFotos$k++) {
    if (
$explorar[$k] != "." && $explorar[$k] != ".." && $explorar[$k] != "index.php") {
    
$total++;
    }    
}

$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 5;
    
$i 1;
    while((
$foto readdir($getdir)) !== false) {
            
$resto = ($i $col);
            if(
$resto == 1){ echo "<tr>"; }
            echo 
"<td colspan='$col'>";
            if(!
in_array($foto$list_ignore)){
                echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                echo 
"<img src='$dir$foto'>";
            }
            echo 
"</td>";
            if(
$resto == 0){echo "</tr>";}            
        }
        if(
$resto <> 0){
            
$ajust $col $resto;
            for(
$j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";}
            echo 
"</tr>";
        }
        
$i++;
    }
    echo 
"</table>";
    
closedir($getdir);
}
?>
Saludos.
  #7 (permalink)  
Antiguo 13/03/2008, 10:58
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

casi casi, pero $i debe tener valor 0, con valor 1 deforma la tabla, ademas, no respeta a $col, pues hace solo una columna, y algo raro tambien, pone un par de filas al inicio de la tabla y una al final, sera que tampoco respeta a los excluidos: ".", ".." e "index.php"???
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #8 (permalink)  
Antiguo 13/03/2008, 11:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: gererar tabla para imagenes

Entonces cambia $i a 0 al inicio de tu while.

Saludos.
  #9 (permalink)  
Antiguo 13/03/2008, 12:18
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

eso fue lo que hice, o no???
Código PHP:
<?php
/*parte del codigo*/
if($getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 5;
    
$i 0// <-- aqui 
    
while(($foto readdir($getdir)) !== false) {
        
$resto = ($i $col);
        if(
$resto == 1){ echo "<tr>"; }
/***************/
por si acaso no entendi lo que me dijiste, lo puse dentro del while, pero no hace nada, sigue igual
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #10 (permalink)  
Antiguo 13/03/2008, 12:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: gererar tabla para imagenes

Prueba este código:
Código PHP:
$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 5;
    
$i 1;
    echo 
"<tr>";
    while((
$foto readdir($getdir)) !== false) {
            echo 
"<td>";
            if(!
in_array($foto$list_ignore)){
                echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                echo 
"<img src='$dir$foto'>";
            }
            echo 
"</td>";
            
$resto = ($i $col);
            if(
$resto == 0){echo "</tr><tr>";}            
        }
        
$i++;
    }
     echo 
"</tr>";
     echo 
"</table>";
     
closedir($getdir);

Saludos.
  #11 (permalink)  
Antiguo 13/03/2008, 12:39
 
Fecha de Ingreso: julio-2006
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: gererar tabla para imagenes

Prueba así

Código PHP:

<?php
// leer imagenes en el diractorio fotos
$dir "fotos/";
$explorar scandir($dir);
$totalFotos count($explorar);
$total 0;
for (
$k 0$k<=$totalFotos$k++)
    {
        if (
$explorar[$k] != "." && $explorar[$k] != ".." && $explorar[$k] != "index.php"
        {
            
$total++;
        }    
    }
$list_ignore = array('.','..','index.php');

if(
$getdir opendir($dir))
    {
        echo 
"<table border='1'>";
        
$col 5;
        
$i 0;
        while((
$foto readdir($getdir)) !== false
        {
                
$resto = ($i $col);
                if(
$resto == 1)
                { 
                    echo 
"<tr>"
                }
                
                echo 
"<td colspan='$col'>";
                
                if(!
in_array($foto$list_ignore))
                {
                    echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                    echo 
"<img src='$dir$foto'>";
                }
                
                echo 
"</td>";
                
                if(
$resto == 0)
                {
                    echo 
"</tr>";
                }            
            
            if(
$resto <> 0)
            {
                
$ajust $col $resto;
                for(
$j 0$j $ajust$j++) 
                {
                    echo 
"<td>&nbsp;</td>";
                }
                echo 
"</tr>";
            }
            
$i++;
        }
        echo 
"</table>";
        
closedir($getdir);
    }
?>
  #12 (permalink)  
Antiguo 13/03/2008, 13:21
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

ño...! a ver, GatorV, el codigo que me pones lo que hace es generar una sola fila y una columna por cada imagen...
andersfriden, el tuyo me muestra fila por cada imagen y genera esta salida html:
Código HTML:
<table border='1'>
<tr>
<td colspan='5'></td>
</tr>
<tr>
<td colspan='5'></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan='5'>Nombre: ADONIA_1_79.png: Tipo: file<br>
<img src='fotos/ADONIA_1_79.png'></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<!-- asi hasta -->
<tr>
<td colspan='5'>Nombre: ADONIA_1_82.png: Tipo: file<br>
<img src='fotos/ADONIA_1_82.png'></td>
</tr>
<!-- y lo repite por cada imagen.... --> 
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #13 (permalink)  
Antiguo 13/03/2008, 16:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: gererar tabla para imagenes

Prueba asi:
Código PHP:
$list_ignore = array('.','..','index.php');
if(
$getdir opendir($dir)){
    echo 
"<table border='1'>";
    
$col 5;
    
$i 1;
    echo 
"<tr>";
    while((
$foto readdir($getdir)) !== false) {
            echo 
"<td>";
            if(!
in_array($foto$list_ignore)){
                echo 
"Nombre: $foto: Tipo: "filetype ($dir $foto) . "<br>";
                echo 
"<img src='$dir$foto'>";
            }
            echo 
"</td>";
            
$resto = ($i $col);
            if(
$resto == 0){echo "</tr><tr>";}
            
$i++;    
        }
        echo 
"</tr>";
        echo 
"</table>"
    }
     
closedir($getdir);

Saludos.
  #14 (permalink)  
Antiguo 18/03/2008, 12:12
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: gererar tabla para imagenes

ahora es como mejor ha salido, pero me pone un par de celdas vacias al inicio de la tabla, estoy seguro moderador, que lo que tengo es que implementar el primer for, despues meto mano y si no me sale, pues les pedire ayudita, como siempre.

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
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 07:40.