Достаточно просто, посмотри как сделана любая пагинация у популярных cms.
Из данных нужно знать:
1)количество блоков которые должны появляться после нажатия(к примеру за одно нажатие 5)
2)Общее количество результатов
3)И количество результатов показанное у нас в данный момент(к примеру 15 штук)
После нажатия, шлем на сервер текущее количество результатов и просим вывести все с
текущего количества результатов + количество блоков которые должны появляться после нажатия.Сервер возвращает эти данные. Ловим их во фронте и добавляем с помощью js эти блоки к тем что у нас уже есть(типа appEnd на jquery)
В общих чертах как-то так.