PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $printPage=10;//кол-во ссылок на страницы выводимых за раз
- $countPage=20;//всего страниц в эту переменную можно подставить результат COUNT(*)
- if($currentPage<1){// если страница не существует на первую
- $currentPage=1;
- }
- if($currentPage>$countPage){// если страницы не существует на последнюю
- $currentPage=$countPage;
- }
- $begin=($toFirstPage<=1)?1:$toFirstPage;// Начало цикла
- $end=$begin+$printPage-1; // конец цикла
- if($end>$countPage){ // Если конец цикла больше общего количества страниц
- $begin-=$end-$countPage; // смещаем начало на разницу
- if($begin<1){// если страниц меньше чем $printPage
- $begin=1;
- }
- $end=$countPage;
- }
- $str='';
- for($i=$begin;$i<=$end;$i++){
- $str.='<a href="/paginator.php?page='.$i.'" '.(($i==$currentPage)?'class="current"':'').'>'.$i.'</a> ';
- }
- $prevPage=($currentPage!=1)?'<a href="/paginator.php?page='.($currentPage-1).'">Предыдущая</a> ':'';
- $firstPage=($begin!=1)?'<a href="/paginator.php?page=1">Первая</a> ':'';
- $nextPage=($currentPage!=$countPage)?'<a href="/paginator.php?page='.($currentPage+1).'">Следующая</a> ': '';
- $lastPage=($end!=$countPage)?'<a href="/paginator.php?page='.$countPage.'">Последняя</a>' : '';
- echo $firstPage.$prevPage.$str.$nextPage.$lastPage;