Такое требование становится все популярней и популярней среди клиентов, может сеошники советуют. Не знаю криво это или нет, но я хранил описания в базе данных в виде одной строки и каждое отделял точкой с запятой:
описание один;описание два;описание три
При помощи php, а именно функции
explode разбиваете строку на массив, а дальше просто циклом перебираете весь массив и на каждой итерации выводите изображение с описанием. Но это при условии, что ваши изображения хранятся в нужном порядке, то есть имеют имена 1, 2, 3, 4.
Если имена изображений не упорядочены, то храните в базе и пути к изображениям, и описания к фото в виде одной строки, то есть:
name1.jpg;name2.jpg;name3.jpg
описание один;описание два;описание три
Также при помощи функции
exlode разбиваете на массивы и сливаете в один при помощи функции
array_combine. В итоге у вас получится массив из пути к изображениям и описание каждого фото.
Остается только вывести весь массив на страницу :)