Menú Principal

Tablas y PHP

Iniciado por zepjau, 11 Diciembre 2011, 11:41 AM

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

zepjau

Buenos dias.
Tengo un problema con la generacion de una tabla que es el siguiente:
Leo un directorio en el cual tengo imagenes y quiero cargarlas en una tabla de x*y dimensiones y que desconozco.
Para ello utilizo el siguiente codigo:

<table>

<tr>

<?php

$contador=0;

$dir = 'fotos_img';

$dir1= $dir."/";

// Abrir un directorio conocido, y proceder a leer sus contenidos

if (is_dir($dir)) {

if ($gd = opendir($dir)) {

while ($archivo = readdir($gd)) {

if (filetype($dir1 . $archivo) == "file"){

$archivof=$dir1.$archivo;

echo "<td style='background: #FFF url($archivof) no-repeat center top; padding:50px;'></td>";

$contador= $contador + 1;

echo $contador;

if ($contador == 4){ ?>

   </tr> <tr><?

       $contador=0;

    }



}

}

closedir($gd);

}

}

?>

</tr>

</table>
El problema me surge cuando quiero controlar el numero de  celdas por fila y si es 4 ($contador) no me genera una nueva fila de celdas. ¿que está mal o como debo proceder para ello?. Si me muestra las imagenes en cada celda de la primera fila pero no muestra la segunda fila.
No me salern errores ni en js ni en php.
Un ayuda.

Gracias.
Javier.

s00rk

No lo revise del todo, pero para lo que dices o pides am creo que deberias eliminar esos <tr> que pones al principio y al final </tr> ejejje

Ya luego por tu codigo deberia ir agregando una nueva fila y asi jeje

Graphixx

para que reinventar la rueda, que use una de las tantas datagrids dinamicas que hay en el mercado:
http://www.apphp.com/php-datagrid/index.php



Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

s00rk

Cita de: Graphixx en 11 Diciembre 2011, 23:17 PM
para que reinventar la rueda, que use una de las tantas datagrids dinamicas que hay en el mercado:
http://www.apphp.com/php-datagrid/index.php





Cierto, pero para que reinventarla ? pues en lo personal para entender como funciona minimo, no me gusta usar otros codigos sin por lo menos tener una idea de como hacerlo yo mismo claro que lo mas probable el otro lo haga mejor o mas rapido, pero quiero tener una idea de como funciona o como hacerlo jeje bueno ese en mi caso de porque reinvento xD (claro si es un proyecto que no tengo prisa xD)

Shell Root

@Graphixx, ya deberías de saber que en algunas ocasiones, sí es mejor reinventarla.  :silbar:
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Graphixx

Pues como esos proyectos dan los codigos fuente, me parecia buena idea que el compañero que apenas comienza los conociera, muchas veces es mas entretenido ayudar a mejorar codigos que reinventarlos desde cero, asi se beneficia toda la comunidad.
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

Z31C0S

#6
Te importaría reportar el resultado de la página html. Hace tiempo que no programo en php, pero la verdad tampoco le veo error alguno. No hace falta todo, solo la parte en la que está la tabla.

Reeditado:

A ver, creo que si no recuerdo mal PHP versión 5 era muy estricto con el inicio de código, no le vale con <? tiene que poner <?PHP, y eso te ocurre justamente antes de hacer a $contador=0.

Al no volver a ser más $contador=0, después de la primera fila es $contador>4, ya nunca vuelve a pintar </tr><tr>, por lo tanto no vuelves a tener más filas.

Z31C0S

#7
He probado el código ahora mismo. No hay problema alguno con lo que te comenté de <? y <?PHP.

Por otro lado, el código funciona, hace lo que pides, mira te mando mi resultado html, hice varias pruebas cambiando el condicional del $contador, es este caso es igual a 2, pero con 4 también funciona

<table>

<tr>

<td style='background: #FFF url(Imagenes/1.jpg) no-repeat center top; padding:50px;'></td>1
<td style='background: #FFF url(Imagenes/2.jpg) no-repeat center top; padding:50px;'></td>2
  </tr> <tr><td style='background: #FFF url(Imagenes/3.jpg) no-repeat center top; padding:50px;'></td>1
<td style='background: #FFF url(Imagenes/4.jpg) no-repeat center top; padding:50px;'></td>2
  </tr> <tr><td style='background: #FFF url(Imagenes/5.gif) no-repeat center top; padding:50px;'></td>1
<td style='background: #FFF url(Imagenes/6.gif) no-repeat center top; padding:50px;'></td>2
  </tr> <tr><td style='background: #FFF url(Imagenes/7.gif) no-repeat center top; padding:50px;'></td>1
<td style='background: #FFF url(Imagenes/8.gif) no-repeat center top; padding:50px;'></td>2
  </tr> <tr>

</tr>

</table>


suerte!