Итак, у меня есть эта база данных правильно, с некоторыми полями, называемыми «id», «title» и «message». Теперь я получил около 700 сообщений в базе данных. Итак, все, что я хочу сделать, задает лимит максимум 50 заголовков сообщений на странице и делает несколько страниц … Как я могу это сделать?
Я знаю только, чтобы получить первую страницу, используя LIMIT
…
Как вы уже догадались, вам нужно использовать ключевое слово LIMIT
.
Он принимает два значения (цитирование) :
В вашем случае вам нужно будет использовать что-то подобное для первой страницы:
select * from your_table order by ... limit 0, 50
И затем, для второй страницы:
select * from your_table order by ... limit 50, 50
И для третьего:
select * from your_table order by ... limit 100, 50
И так далее 😉
Измените после комментария: чтобы получить номер страницы, вам нужно будет получить его из своих URL-адресов, который будет выглядеть следующим образом:
http://www.example.com/page.php?pagenum=2
Затем вы вычислите первое значение для предела:
$offset = 50 * intval($_GET['pagenum']);
И добавьте его в свой запрос:
select * from your_table order by ... limit $offset, 50
Построение URL-адресов на разных страницах теперь связано с получением таких URL-адресов:
http://www.example.com/page.php?pagenum=0 http://www.example.com/page.php?pagenum=1 http://www.example.com/page.php?pagenum=2 ...
Если вы знаете, что у вас 700 элементов и 50 на страницу, у вас будет 700/50 страниц 😉
Итак, что-то вроде этого должно сделать трюк:
for ($i=0 ; $i<700/50 ; i++) { // Use http://www.example.com/page.php?pagenum=$i as URL }
Конечно, 700 – это значение, которое, вероятно, может измениться и не должно быть жестко запрограммировано: оно должно быть определено из базы данных с использованием запроса на count
:
select count(*) as total from your_table ...
Ваш PHP-файл может принимать аргумент GET, являющийся номером страницы.
Затем вы делаете свой запрос с помощью LIMIT ($ page_number * $ messages_per_page), $ messages_per_page (псевдокод).
$ messages_per_page = 50 в вашем случае. $ page_number выводится из аргумента GET после дезинфекции , причем первая страница является номером страницы 0.