hollanditkzn, Скажем так, абстрактно попробую проиллюстрировать.
Ваше решение: выгребаем все нужные строки данных из базы, потом делаем цикл по ним, для каждой строки делаем запрос в базу. Итог: один большой запрос и куча мелких. каждый запрос жрет время сервера на коннект с БД, гоняет данные между РНР и сервером БД. Это неэффективно, но работает. На низкозагруженных проектах с малыми объемами данных это сгодится
Более элегантное решение будет попробовать сразу выгрести из БД все данные, использовав связи между таблицами. тогда получаем один тяжелый запрос, но всего один. И дальше по циклу идем и просто отображаем данные
Есть и другие способы оптимизации, но они уже подбираются под задачу и их не опишешь абстрактно.
Так создайте свой файл. Вся логика обработки данных формы находится в скрипте по адресу, указанному в форме (см. мой ответ).
В файле downloader.php, отображается название файла и ссылка на него (судя по названию параметра и самого файла).
В параметре вам прилетит имя файла (в РНР параметр будет доступен в переменной $_GET['filename'])
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.