Holas venom13
Creo que esta pregunta ya había sido formulada, y respondida otras tantas, pero para hacerla corta, te muestro tu código con algunos cambios que le he hecho:
- Creo que la pregunta dentro del while no debiera ser por el ID del registro, sino por un contador genérico del while.
- El inicio y cierre de las filas TR debiera hacerse dentro del while, según la pregunta dentro: si está en la primera celda, inicia la Fila; si está en la última celda, cierra la Fila.
- Para el caso del último registro, si no coincidiera con la última celda, crear una celda colapsada por la cantidad de columnas que faltan para terminar la Fila.
Código PHP:
<table width="700" cellpadding="0" cellspacing="0" border="1" align="center">
<?php
$_pagi_sql = "SELECT * FROM fotos ORDER BY id desc";
$total = mysql_num_rows($_pagi_result);
$i = 0;
while($row = mysql_fetch_array($_pagi_result))
{
if ($i % 3 == 0)
{
?> <tr> <?
}
?><td><? echo $row['id'];?></td><?
if ($i == $total - 1 && $i % 3 < 2)
{
?><td colspan="<?= (3 - ($i % 3)); ?>"> </td><?
}
if (($i % 3 == 2) || ($i == $total - 1))
{
?> </tr> <?
}
$i++;
}
?>
</table>