Возможно ли создать разбиение на страницы без получения всех элементов таблицы? Но со страницами в GET like/1/666 ...MySQL Pagination
ответ
Вы можете использовать LIMIT
для разбивки на страницы по вашему результирующему набору.
SELECT * FROM comments WHERE post_id = 1 LIMIT 5, 10
где LIMIT 5 означает 5 комментариев и 10 - смещение. Вы можете также использовать более длинный синтаксис:
... LIMIT 5 OFFSET 10
Да, используя пункт MySql в LIMIT
. Большинство обучающих программ для разбивки на страницы служат хорошим примером того, как их использовать.
См эти вопросы для дальнейших ссылок и информации:
Он обычно включает в себя выдачу два запроса: один для получения «среза» набора результатов и один для получения общего количества записей. Оттуда вы можете определить, сколько страниц у вас есть, и построить соответствующую разбивку на страницы.
просто пример:
<?php
$where = ""; // your WHERE clause would go in here
$batch = 10; // how many results to show at any one time
$page = (intval($_GET['page']) > 0) ? intval($_GET['page']) : 1;
$start = $page-1/$batch;
$pages = ceil($total/$batch);
$sql = "SELECT COUNT(*) AS total FROM tbl $where";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
$total = $row['total'];
// start pagination
$paging = '<p class="paging">Pages:';
for ($i=1; $i <= $pages; $i++) {
if ($i==$page) {
$paging.= sprintf(' <span class="current">%d</a>', $i);
} else {
$paging.= sprintf(' <a href="?page=%1$d">%1$d</a>', $i);
}
}
$paging.= sprintf' (%d total; showing %d to %d)', $total, $start+1, min($total, $start+$batch));
А затем, чтобы увидеть ваши ссылки разбивки на страницы:
...
// loop over result set here
// render pagination links
echo $paging;
Я надеюсь, что это помогает.
Просто FYI: нет необходимости делать два запроса, вы можете использовать опцию выбора SQL_CALC_FOUND_ROWS: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found -rows –
Блестящий, спасибо за это! –
- 1. MySql, Pagination
- 2. Mysql Pagination
- 3. PHP MYSQL Pagination
- 4. pagination php от mysql
- 5. pagination fixing php mysql
- 6. Boggled ... MYSQL + JOIN + PAGINATION
- 7. MySQL и Pagination
- 8. Php Mysql Pagination
- 9. Ajax pagination in php mysql
- 10. PHP MySQL pagination script загрузить
- 11. Pagination on with mysql queries
- 12. MySQL/PHP Search with pagination
- 13. Pagination in nodejs с mysql
- 14. Проблема отображения pagination PHP и MySQL
- 15. LIMIT запись mysql с использованием Pagination Limit
- 16. Добавление jquery в php mysql pagination
- 17. php/mysql pagination - count from multiple fields
- 18. PHP MySQL pagination/infin scroll issue
- 19. Ajax Pagination с JQuery, PHP, Mysql
- 20. Laravel Pagination при использовании хранимой процедуры MySQL
- 21. php mysql html pagination не работает
- 22. PHP jQuery AJAX с результатами MySQL pagination
- 23. Как достичь pagination html php mysql
- 24. mysql pagination error после выполнения учебника
- 25. ASP.NET GridView Pagination с использованием MySQL LIMIT
- 26. Pagination with Mysql и PHP Help
- 27. MYSQL PHP pagination не работает ссылки
- 28. pagination с использованием php с данными mysql
- 29. Bootstrap Pagination с использованием PHP и MySQL
- 30. PHP MYSQL Pagination список всех полей
Возможный дубликат [Как вы реализуете разбиение на страницы в PHP?] (Http://stackoverflow.com/questions/267892/how-do-you-implement-pagination-in-php) –
Все это здорово, но всего требуется количество записей. – swamprunner7
все отлично. Так что просто прочитайте сумму из вашей базы данных: 'SELECT count (*) из таблицы' –