Что является лучшим способом нумеровать страницы результаты в php

Я должен отобразить много страниц новостей в сайте. Если я делаю разбиение на страницы в использовании запроса базы данных LIMIT или со Сценарием PHP после получения всех результатов?

5
задан reformed 13 December 2019 в 20:39
поделиться

6 ответов

Используйте предел в SQL! Каждый раз!

Иначе Вы бросаете вокруг значительно большего количества данных, чем Вы должны, который заставляет Ваши сценарии излишне замедлиться и приведет к проблемам масштабируемости как объем данных в Ваших увеличениях таблиц.

Предел является Вашим другом!

10
ответ дан 18 December 2019 в 06:24
поделиться

Можно пользоваться некоторыми существующими библиотеками для помощи Вам:

Груша:: Пейджер может помочь с выводом, и ограничить трафик базы данных только, в чем Вы нуждаетесь, можно использовать обертку, обеспеченную в примерах, которые идут с ним.

Вот учебное руководство, которое я просто погуглил, который имеет все это...

2
ответ дан 18 December 2019 в 06:24
поделиться

Используйте предел - Вы не хотите передавать массы данных от базы данных до механизма выполнения сценариев, если можно избежать его.

10
ответ дан 18 December 2019 в 06:24
поделиться

В дополнение к использованию LIMIT, Я предложил бы использовать явное WHERE пункт, чтобы установить смещение и заказать результаты на том столбце. Например:

--- First page (showing first 50 records)
SELECT * FROM people ORDER BY id LIMIT 50
--- Second page
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50

Это дальнейшие пределы числа строк, возвращенных тем, которые в желаемом диапазоне. Используя WHERE подход (в противоположность a LIMIT пункт с отдельным смещением, например. LIMIT 50,50) позволяет Вам иметь дело эффективно с пролистыванием записей с другими естественными ключами, например, в алфавитном порядке по имени, или хронологическим порядком.

1
ответ дан 18 December 2019 в 06:24
поделиться

Если Вы хотите только работу с DBMS, которые поддерживают это, чем делают это на DBMS. Если Вы хотите, поддерживают другой DBMS в будущем затем реклама, которую слой между этим может обработать в зависимости от текущего DBMS.

2
ответ дан 18 December 2019 в 06:24
поделиться

Лично, я использовал бы запрос, чтобы сделать это. Очевидно, это может измениться, если Ваш контакт с Ajax и таким, но просто выполнение основного предела в запросе и выводе результатов просто и эффективно.

0
ответ дан 18 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: