Foros del Web » Programando para Internet » PHP »

orden de impresion de acorde a columnas

Estas en el tema de orden de impresion de acorde a columnas en el foro de PHP en Foros del Web. Hola Amigos He usado un codigo dejado aqui para la creación de columnas dinamicamente. El cual si la consulta me retorna los resultados en orden ...
  #1 (permalink)  
Antiguo 11/04/2009, 09:24
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 20 años
Puntos: 0
orden de impresion de acorde a columnas

Hola Amigos

He usado un codigo dejado aqui para la creación de columnas dinamicamente.


El cual si la consulta me retorna los resultados en orden ascendente

1
2
3
4
5
6
7
8

Si la tabla tiene 1 sola columna lo imprime en ese mismo orden

Pero si la tabla tuviera 2 columnas lo imprime asi

1 2
3 4
5 6
7 8

Lo que busco es imprimirlo de esta manera
1 5
2 6
3 7
4 8

Y de darse el caso de 3 columnas siempre que empieze de izquierda a derecha.


ALguien me podría dar una orientación y/o la idea?

Pretendo resolver esto con las tablas, pero por alli estuve pensando en usar CSS y (UL y LI). Que podrían resolver mi problema.

Salu2



Código PHP:

 
# Número de columnas (variable) 

if (($rows=mysql_num_rows($result2))==0) { 
  echo 
"<tr><td ></td></tr> "


/*
else { 
  echo "<tr><td colspan=$columnes>$rows Resultados </td></tr>"; 


*/

$num_fila=0;

for (
$i=1$row mysql_fetch_row ($result2); $i++) 
    { 

        
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos 
        
        
if ($resto == 1) {
    
        echo 
"<tr >";    
        
                        }


        if(
$num_fila%2==0){                
        
# Si es la primera celda, abrimos <tr> 
    
        
echo " <td class=\"fila1\" > <div align=\"$text_align\"> <a href=\"$row[1]\"  target=\"_blank\" onClick=\" Visitas($id,$row[5] , $row[6]);\"  >$row[0] </a> </div> </td>";  
    
        if (
$resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr> 
        
}
        
        
        else
        
        {
            
        echo 
" <td class=\"fila2\" > <div align=\"$text_align\"> <a href=\"$row[1]\" target=\"_blank\"  onClick=\" Visitas($id,$row[5] , $row[6] );\"  >$row[0] </a> </div> </td>";  
    
        if (
$resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
            
        
}
        
    
    
     
$num_fila++;
    
    }

         
if (
$resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos 
$ajust $columnes $resto# Número de huecos necesarios 
for ($j 0$j $ajust$j++) {
    
    if(
$num_fila%2==0)
    
echo 
"<td class=\"fila1\" ></td>";
else 

echo 
"<td class=\"fila2\" ></td>";

$num_fila++;





        
        
    

  
  
}
      if (
$columnes>1)

        {
    
    echo
"
         <tr>
            <td  colspan=\"$columnes\" class=\"header_footer\" ><div align=\"$text_align\"><a href=\"http://www.dominio.com\" target=\"_blank\"><img src=\"xzye.gif\" alt=\"Lista\" width=\"62\" height=\"25\" border=\"0\" /></a></div></td>
 


        </tr>
        
        
                <tr>
    <td colspan=\"$columnes\" class=\"header_footer\"><div align=\"$text_align\"><a href=\"http://dominio.com/profile/$username\" target=\"_blank\"> List</a></div></td>
  </tr>
        
        
        
        "
# Cerramos la última línea </tr> 
    

        
}
  
if (
$columnes<2){        
     echo 
"


         <tr>
            <td class=\"header_footer\"><div align=\"$text_align\"><a href=\"http://www.dominio.com\" target=\"_blank\"><img src=\"xzye.gif\" alt=\"Imagen\" width=\"62\" height=\"25\" border=\"0\" /></div></td>
 


        </tr>
        
        
        
        
        
        <tr>
    <td class=\"header_footer\"><div align=\"$text_align\"><a href=\"http://dominio.com/perfil\" target=\"_blank\"> Lista</a></div></td>
  </tr>
        
        
        "

     

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 21:16.