// Genera una estructura que va colocando un resultset en filas de X elementos.
<?php
// Catálogos
$catalogos_query = 'SELECT catalogos.* FROM catalogos WHERE catalogos.estado = 1 ORDER BY catalogos.id_catalogo DESC';
$catalogos_rs = mysql_query( $catalogos_query );
$catalogos_num = mysql_num_rows( $catalogos_rs );
// inicia looper
$elem_count = 0;
$elem_total_count = 0;
$elem_per_row = 6; // Configurar esto!
// bucle entre todas los elementos a mostrar
while( $row = mysql_fetch_assoc( $catalogos_rs ) ) :
$elem_count++;
$elem_total_count++;
?>
<?php if ( $elem_count == 1 ) : // si es el primer elemento de la fila.... ?>
<div class="catalogoRow">
<?php endif; ?>
<?php if ( $elem_count == $elem_per_row ) : // si es el último elemento de la fila...
$class = "catalogoContainer ultimo";
else:
$class = "catalogoContainer";
endif; ?>
<div class="<?php echo $class ?>">
<div class="catalogoImagen">
<a target="_blank" href="/arxius/catalogos/<?php echo $row['archivo']; ?>"><img src="../arxius/catalogos/<?php echo $row['imagen']; ?>" alt="<?php echo $row['titulo_'.$idioma]; ?>" border="0" /></a>
</div>
<div class="catalogoTitulo">
<p><?php echo $row['titulo_'.$idioma]; ?></p>
</div>
</div><!-- end .container -->
<?php if ( $elem_count == $elem_per_row || $catalogos_num == $elem_total_count ) : // elem_db_total es el total de reg. a mostrar de la bbdd ?>
<div class="clear"></div>
</div><!-- end .row -->
<?php $elem_count = 0; endif; ?>
<?php endwhile; ?>