У меня есть SQL-запрос, который возвращает сумму кортежей (приблизительно 50). Теперь я должен отобразить результаты, 15 кортежей за один раз, затем у меня будет "представление большим количеством" кнопки для просмотра следующих 15 результатов.
Можно ли помочь мне, как я могу сделать это? Проблема - то, что я не могу использовать 'пределы', потому что каждый раз я выполняю запрос, результаты будут отличаться, следовательно при нажатии представления больше, я могу получить те же результаты той же страницы.
спасибо
Вместо перезагрузки следует поместить каждую "страницу" в display:hidden
div
и с помощью JS показывать одну div
за другой.
Если вы можете запустить запрос только один раз, у вас есть только два варианта:
Отправить весь набор результатов в браузер, скрывая все, кроме 15 строк. «Посмотреть еще» просто отобразит больше строк.
Выполните запрос один раз и кешируйте результаты, но отправьте браузеру только запрошенные строки. Когда от браузера запрашиваются дополнительные строки, отправьте обратно еще один набор кэшированных строк. Это полезно для прогрессивной загрузки больших или сложных наборов данных.
Если вы не можете использовать LIMIT, это означает, что ваш сценарий должен будет получить и загрузить 50 кортежей. Если вы хотите отобразить только 15, вам следует поискать решение Javascript, чтобы скрыть другие и отображать только активные.
JQuery Datatables - ОТЛИЧНАЯ работа. Вы просто загружаете все кортежи в таблицу и вызываете Datatable - вот и все! Позже вы можете настроить его так, чтобы отображалось более или менее 15 одновременно.