Creo que con un poco más de orden, no tendrías ese inconveniente.
Código PHP:
Ver original<?php
$fotos = mysql_query("SELECT id,foto,comentario_foto FROM fotos_bbdd", $conexion); //Siempre debes comprobar que se hayan encontrado datos en la consulta
?>
<table class="contenedor_opcs" border="0" cellpadding="0" cellspacing="5" id="tabla_microfotos" bgcolor="#000000">
<?php
$f[] = $row['foto'];
foreach ($grupo as $sub_grupo){
?>
<tr>
<?php
foreach ($sub_grupo as $foto){
?>
<td align='center' valign='middle' height='133px' width='145px'>
<a href='#' onClick='muestra_oculta('dock2')'>
<img src = '<?=$foto?>' class='sombra_blanca' style='max-height: 105px; max-width: 115px;' />
</a>
</td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<?php
//Siempre libera a la memoria de los datos de la consulta cuando ya no los necesites
}
else
echo "No se encontraron datos en la consulta;
?>
Con la función
array_chunk, divido las fotos en grupos de a 6, luego solamente es cuestión de recorrer cada grupo o array e ir imprimiendo sus 6 fotos.
Saludos