Вы можете позволить базе данных управлять порядком, как у вас (рекомендуется), или вы можете загрузить все результаты и затем отсортировать их, используя ваш PHP-код. Кроме того, вы можете поместить их все в HTML и отсортировать их с помощью JavaScript.
Для разбивки на страницы вы можете использовать предложения LIMIT
и OFFSET
(или LIMIT 10,10
) для просмотра набора результатов (конечно, если набор результатов изменится, ваша разбивка на страницы также может измениться).
SELECT * FROM posts ORDER BY helpfulness LIMIT 10,10
OR
SELECT * FROM posts ORDER BY helpfulness LIMIT 10 OFFSET 10
Для комбинирования разбивки на страницы и сортировки я определенно рекомендовал бы оставить это для обработки в базе данных.