То, что вы пишите в вопросе, и если так делаете — это индусский код. Не надо решать задачи SQL посредством PHP, или другого языка. Тем более запросы к бд в цикле/рекурсии, еще как-то.
У вас должно быть как с классами — каждый класс отвечает за свое — так и в базах данных, каждая таблица отвечает за свое. В таблице картинок вы храните все что нужно по картинкам, в таблице видео, ну вы поняли. А вот в таблице постов должна быть связь со всеми составляющими поста, а также связь с автором.
Мартин Грубер — Понимание SQL — говорят что перевод не самый лучший. Однако мне книга очень понравилась, и вам советую.