Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив. Чаще всего достаточно комментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.
Вижу 2 пути решения
1) Проходишься по массиву и через условия создаешь новый где лежит все как на выводе
2) Или сразу формируешь 3 строки с конкатенацией тех элементов которые там должны быть
Это если у тебя всегда 3 элемента в массиве, если больше - нужно еще подумать
$post = R::findOne('blog');
Вы в цикле из итерации в итерацию достаете один и тот же пост, поэтому и айдишка - const . Нужен код функции R::findOne('blog');