В общем, talisman верно сделал, хотя display:block; — излишен, проще сделать так:

CSS:
Код:
#ph {clear:both; width:420px}
#ph img {float:left; width:54px; height:54px; margin:2px; border:solid 1px #000}

HTML:
Код:
<div id="ph">
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *[img]1.gif[/img]
 * *...
</div>
Т.е. фотографии выдавать одной кучей, а на новую строку они будут вставать сами.
Ширина блока #ph получилась путем сложения ширины картинки (54 px.) + отступа слева и справа (2 px. + 2 px. = 4 px.) + граница картинки (1 px. + 1 px. = 2 px.) = 60 px. * 7 шт. = 420 px.