Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/05/2004, 11:03
DaMMsteiN
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago - Chile
Mensajes: 45
Antigüedad: 20 años, 3 meses
Puntos: 0
De acuerdo Una ayudadita:

Hola, por lo que puedo apreciar esto es lo que quieres:

Quieres tener 3 columnas y ene filas para las fotos o imagenes que contengas en tu directorio. ok siguiendo esto te puedo decir que al analizar tu codigo podrias hacer esto ( es una idea y espero te funcione);

1.- mediante una funcion CUENTA el numero total de fotos de tu directorio, ejemplo: 20

2.- DIVIDE la cantidad que mostraste por 3 ( que es la cantidad de columnas que quieres ), en este caso el resultado seria 6 y te sobrarian 2, entonces

3.- Mediante el primer FOR dejas de indice el numero entero de la division o sea el 6, ejemplo:

<?
for ($f=1; $f<=$VARIABLE_ENTERA_DE_LA_DIVISION( EN ESTE CASO 6 ); $f++){
echo "<tr>"; //*** esto te generará 6 filas con 3 columnas o sea 18.
for ($c=1; $c<=3; $c++){
$i++;
echo "<td align='center' valign='top' class='small'><a href='#'-->
-->onClick=\"foto('$foto/$imagen[$i]','Penya');return false\"><img src='$thumb/$imagen[$i]'-->
-->"name='image' width='94' height='70' border='1'></a></td>";
};


4.- el resto que te quedo de la division tambien la guardas en una variable y haces algo asi despues del los dos FOR anteriores

if ($VARIABLE DEL RESTO DE LA DIVISION( en este caso 2) > 0)
{
echo"<tr>";
for $x=1; $x<=$VARIABLE DEL RESTO DE LA DIVISON( en este caso 2); $x++)
{
$i++;
echo "<td align='center' valign='top' class='small'><a href='#'-->
-->onClick=\"foto('$foto/$imagen[$i]','Penya');return false\"><img src='$thumb/$imagen[$i]'-->
-->"name='image' width='94' height='70' border='1'></a></td>";
}
echo "</tr>"; //PARA QUE CIERRE LA UNICA FILA,YA QUE NO PODRAN HABER NUNCA UN RESTO SUPERIOR A 3. POR LO QUE NECESITAS SOLO UNA NUEVA FILA.
} // FIN SI.
else
{echo "</tr>"; }// PARA QUE CIERRE LA FILA SI ES QUE NO TIENE RESTO LA DIVISION


Es lo que se me ocurre y si lo entiendes seguro que funciona. Espero haberte ayudado un poco.

Saludos.

DaMMsteiN

PD: codigo completo.

primero cuentas las fotos, luego division por 3, guardas resto y entero y....

<?
for ($f=1; $f<=$VARIABLE_ENTERA_DE_LA_DIVISION( EN ESTE CASO 6 ); $f++){
echo "<tr>"; //*** esto te generará 6 filas con 3 columnas o sea 18 celdas, para 18 fotos.
for ($c=1; $c<=3; $c++){
$i++;
echo "<td align='center' valign='top' class='small'><a href='#'-->
-->onClick=\"foto('$foto/$imagen[$i]','Penya');return false\"><img src='$thumb/$imagen[$i]'-->
-->"name='image' width='94' height='70' border='1'></a></td>";
} // fin for
} // fin for

if ($VARIABLE DEL RESTO DE LA DIVISION( en este caso 2) > 0)
{
echo"<tr>"; // genero nueva fila si resto superior a 0
for $x=1; $x<=$VARIABLE DEL RESTO DE LA DIVISON( en este caso 2); $x++)
{
$i++;
echo "<td align='center' valign='top' class='small'><a href='#'-->
-->onClick=\"foto('$foto/$imagen[$i]','Penya');return false\"><img src='$thumb/$imagen[$i]'-->
-- >"name='image' width='94' height='70' border='1'></a></td>";
}// fin for.
echo "</tr>"; //PARA QUE CIERRE LA UNICA FILA,YA QUE NO PODRAN HABER NUNCA UN RESTO SUPERIOR A 3. POR LO QUE NECESITAS SOLO UNA NUEVA FILA.
} // FIN SI.
else // sino no hay resto...
{echo "</tr>"; }// PARA QUE CIERRE LA FILA SI ES QUE NO TIENE RESTO LA DIVISION
__________________
Solo sé que nada sé.