Estaba buscando la manera de dividir los resultados de un query en columnas y lineas, por ejemplo si tengo 5 registros que se me pongan en 4 columnas cada uno y el restante abajo de la primera columna, en una segunda linea. Mire el codigo que hay en los FAQS pero no me sale.. ahora mismo tengo 5 registros divididos en 4 columnas y lo unico que hace es mostrarme cuatro columnas en una linea con 1 registro en cada una, o sea no me muestra el 5º registro.
Este es el codigo que uso:
Código PHP:
<?php
$connexion = mysql_connect("SERVIDOR","USUARIO","CONTRASEÑA");
mysql_select_db("BASE_DE_DATOS", $connexion);
$result = mysql_query("SELECT * FROM fanart");
$rows = mysql_num_rows($result);
echo "<table align=center>";
$columnes = 4;
echo "<tr><td colspan=$columnes>$rows Resultados</td></tr>";
if ($rows=0){echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ";}
for ($i=1; $rows = mysql_fetch_row($result); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
while ($row3 = @mysql_fetch_array($result)) {
echo "<td>$row3[nick]</td>";
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
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++) {echo "<td> </td>";}
echo "</tr>"; # Cerramos la última línea </tr>
}
}
mysql_close($connexion);
echo "</table>";
?>
Gracias de antemano ^^