Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/10/2013, 09:13
Avatar de jonni09lo
jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Distribuir registros cronológicamente en columnas

Hola loncho, mira si esto te sirve:

Código PHP:
Ver original
  1. echo "<table align=center>";
  2.  
  3.     $columnes = 4; # Número de columnas (variable)
  4.  
  5.     if (($rows=mysql_num_rows($result))==0) {
  6.         echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ";
  7.     } else {
  8.         echo "<tr><td colspan=$columnes>$rows Resultados </td></tr>";
  9.     }
  10.     $filas = ceil($rows / $columnes); # Obtener número de filas de acuerdo al número de resultados y columnas dadas.
  11.     $matriz = array(); # Matriz que guardará los resultados de la manera pedida, llenando primero las filas.
  12.     $i=1; # Fila inicial.
  13.     $columActual = 1; # Columna Actual
  14.     while($row = mysql_fetch_row ($result)){
  15.         if( !isset($matriz[$i]) ) {
  16.             $matriz[$i] = array(); # Añadimos una nueva fila a la matriz.
  17.         }
  18.        
  19.         $matriz[$i][$columActual] = $row; # Añadimos el registro en la columna actual.
  20.         $i++; # Incrementamos fila
  21.         if($i > $filas){ # Si ya pasamos el número de filas máximo procedemos a llenar la siguiente columna y empezar desde la primera fila
  22.             $columActual = $columActual+1;
  23.             $i = 1;
  24.         }
  25.     }
  26.     foreach($matriz as $fila){
  27.         echo "<tr>";
  28.         for($k=1; $k<=$columnes;$k++){
  29.             if(isset($fila[$k])){
  30.                 echo "<td>{$fila[$k][1]}</td>";
  31.             }else{
  32.                 echo "<td>&nbsp;</td>";
  33.             }
  34.         }
  35.         echo "</tr>";
  36.     }
  37.     mysql_close($connexion);
  38. echo "</table>";


Cualquier sugerencia es bienvenida

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.