Макс: данные разные и тесно между собой, грубо говоря бэку важно знать об изменении данных, что бы проанализировав поведение пользователя корректировать сбор данных. Ваш вариант тоже стоит мне обдумать, может что получится.
Написано же написано, Undefined variable: articles. Идём в translate.google.com -> Неопределенная переменная: articles в файле Filename: views/main_view.php на строчке Line Number: 10
И правильно ругается. Тут:
function index()
{
$this->load->view('header_view');
$this->load->view('main_view');
$this->load->view('footer_view');
}
Макс: master-master так как исходные данные могут быть исправлены на фронте. А сразу, полностью подготовить на бэке все данные не получается, они могут динамически меняться, да и видов отчёта достаточно много, не хотелось бы сильно перегружать бэк. Можно конечно использовать отдельный сервер, или несколько, для масштабирования, но пока данных не так уж и много. Как думаете, корректно ли обрабатывать эти данные по крону, или может есть более рациональные решения?
Я бы рекомендовал использовать готовые решения типа jPage. Можно посмотреть другие плагины ("ajax jquery client-side pagination plugin"). Ну или вот к примеру