Foros del Web » Programando para Internet » PHP »

Cuadrar columnas

Estas en el tema de Cuadrar columnas en el foro de PHP en Foros del Web. Bueno, tengo un sistema de descargas y me aparecen asi las categorias: -Categoria 1 -Categoria 2 -Categoria 6 -Categoria 3 -Categoria 4 -Categoria 7 -Categoria ...
  #1 (permalink)  
Antiguo 17/03/2010, 03:51
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 11 meses
Puntos: 9
Cuadrar columnas

Bueno, tengo un sistema de descargas y me aparecen asi las categorias:

-Categoria 1
-Categoria 2 -Categoria 6
-Categoria 3
-Categoria 4 -Categoria 7
-Categoria 5


Por mas que añado categorias nunca quedan asi:

-Categoria 1 -Categoria 6
-Categoria 2 -Categoria 7
-Categoria 3 etc...
-Categoria 4

quiero ue salgan de 4 en 4 pero no se que es esto de impar..


Código PHP:
  <table width='50%' border='0' cellpadding='0' cellspacing='0' align='center' >
<?
// Incluimos archivo de configuracion
@include("configuracion.php");
// configuramos el directorio que queremos listar:
if(!file_exists("descargas/")) { mkdir("descargas/"0777); }
if(
$secciones != "") { $sec "<a  href='javascript:history.go(-1);'>- Anterior</a>" ; }
if(
$secciones == "") { $web "descargas/" ; }
if(
$secciones != "") { $web "descargas/$secciones" ; }
$dir opendir("$web") ;
$parimpar ;
echo 
"<table width=50%  border=0 cellspacing=0 cellpadding=0><tr><td>$sec</td></tr></table>";
echo 
"<table width=50%  border=0 cellspacing=0 cellpadding=0>" ;
while (
$file readdir($dir)) {
$parimpar++ ;
// evitamos q muestre los puntos de volver al directorio superior
if(eregi("config.php"$file)){
echo 
"<script>location.href='?p=shop'</script>";
}

if(
strpos($file".") < 1&& $file != "." && $file != ".."&& $file != "error_log") {
// Contar el total
$dir2 opendir("descargas/".$secciones.$file);

        
$i 0;

        while (
$elemento readdir($dir2))
        {
            
$elemento strtolower($elemento);

            if ((
strpos($elemento".php") > 0) && $elemento != "index.php")

            
$i++;
        }
//mostramos columnas
   
if($parimpar == 1) { echo "<tr>
<td height='30%'><div align='left'>·
<a  href='?p=shop&secciones=$secciones$file/'>$file</a> ($i) </div>
; }
   if(
$parimpar == 0) { echo "
<td height='30%'><div align='left'>·
<a  href='?p=shop&secciones=$secciones$file/'>$file</a> ($i) </div>
</tr>" 
; }
} }

// si el numero de archivos es impar añadimos esta columna para no descudrar la tabla
if($parimpar == 1) { echo "<td>&nbsp;</td></tr>" ; }

closedir($dir);
?>  
</table>
No se como hacer, gracias por adelantado
  #2 (permalink)  
Antiguo 17/03/2010, 08:38
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 10 meses
Puntos: 81
Respuesta: Cuadrar columnas

Holas, te voy a ayudar sin codigo pero con un texto q podria solucionar tu problema.

Lo primero que debes determinar es el total de categorias dividido por 4 y eso te va a dar el numero de columnas que necesitas (con floor() talvez ¿?)

Despues de eso tienes que hacer un tr por cada fila y en su interior un td por cada categoria peeroo... tener claro que:
tr = fila = floor(total_categorias/4)
td = columna= categoria

Y tambien tener claro que:
Código HTML:
<tr>
<td>...categoria 1
<td>...categoria 5
<td>...categoria 9
<td>...categoria 13
</tr>
<tr>
<td>...categoria 2
<td>...categoria 6
<td>...categoria 10
<td>...categoria 14
</tr>
... asi sucesivamente
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: columnas, cuadrar
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:11.