Поиск расширенного скрипта pgination php / mysql

Я ищу «расширенный» скрипт Pagination php, который показывает мне 10 записей mysql на страницу. В Интернете есть много «простых» скриптов (даже с jQuery), подобных этому: http://www.9lessons.info/2009/09/pagination-with-jquery-mysql-and-php.html Вот демо: http://demos.9lessons.info/pagination.php

Эти простые скрипты плохи, когда есть сотни записей … Итак, мне нужен расширенный скрипт – мне нужно что-то вроде этого:

Когда вы находитесь на странице 1, это должно выглядеть так:

[1] 2 3 4 5 ... 45 

На странице 8:

 1 ... 6 7 [8] 9 10 ... 45 

На странице 43:

 1 ... 41 42 [43] 44 45 

и так далее…

Этот форум использует многие форумы или блоги (например, WordPress). Может кто-нибудь, пожалуйста, предоставьте мне код? Должен быть «код лучшей практики», но я не могу его найти. Благодаря!

Solutions Collecting From Web of "Поиск расширенного скрипта pgination php / mysql"

Попробуйте это,

 function generatePagination($currentPage, $totalPages, $pageLinks = 5) { if ($totalPages <= 1) { return NULL; } $html = '<ul class="pagination">'; $leeway = floor($pageLinks / 2); $firstPage = $currentPage - $leeway; $lastPage = $currentPage + $leeway; if ($firstPage < 1) { $lastPage += 1 - $firstPage; $firstPage = 1; } if ($lastPage > $totalPages) { $firstPage -= $lastPage - $totalPages; $lastPage = $totalPages; } if ($firstPage < 1) { $firstPage = 1; } if ($firstPage != 1) { $html .= '<li class="first"><a href="./?p=1" title="Page 1">1</a></li>'; $html .= '<li class="page dots"><span>...</span></li>'; } for ($i = $firstPage; $i <= $lastPage; $i++) { if ($i == $currentPage) { $html .= '<li class="page current"><span>' . $i . '</span></li>'; } else { $html .= '<li class="page"><a href="./?p=' . $i . '" title="Page ' . $i . '">' . $i . '</a></li>'; } } if ($lastPage != $totalPages) { $html .= '<li class="page dots"><span>...</span></li>'; $html .= '<li class="last"><a href="./?p=' . $totalPages . '" title="Page ' . $totalPages . '">' . $totalPages . '</a></li>'; } $html .= '</ul>'; return $html; } 

Если у вас действительно есть 100 страниц результатов, вам может потребоваться разбиение на страницы логарифмически.
Подробнее см. В этом сообщении .

Взгляните на этот плагин (jquery)

Paginator немного отличается от того, что вы хотите, но он будет делать все, что вам нужно.

Попробуйте следующее: http://pear.php.net/package/Pager