Можно ли делать запросы к БД в цикле?
Можно, но для производительности это плохо.
Рассмотрите возможность использования оператора IN в sql запросе
Если запросы к одной таблице, то лучше наверное сделать один запрос, а потом его разбирать (fetch'ить к примеру чтобы всю массу сразу не принимать).
--
Либо можно подумать над кешированием, чтобы постоянно не дергать так базу.