$cnt=100; // общее количество записей во всём выводе $rpp=10; // кол-во записей на страницу $rad=1; // сколько ссылок показывать рядом с номером текущей страницы (2 слева + 2 справа + активная страница = всего 5) $link_sc='page_navigation.php'; // путь if (isset($_GET['page'])) { $page=$_GET['page']-1; // текущая страница } else { $page=0; } $links=$rad*2+1; $pages=ceil($cnt/$rpp); if ($page>0) { echo "First | Previous |"; } $start=$page-$rad; if ($start>$pages-$links) { $start=$pages-$links; } if ($start<0) { $start=0; } $end=$start+$links; if ($end>$pages) { $end=$pages; } for ($i=$start; $i<$end; $i++) { echo " "; if ($i==$page) { echo ""; } else { echo ""; } // echo ($i*$rpp+1)."-"; // if ($i!=($pages-1)) { echo $i*$rpp+$rpp; } else { echo $cnt; } echo ($i+1); if ($i==$page) { echo ""; } else { echo ""; } if ($i!=($end-1)) { echo " |"; } } if ($pages>$links&&$page<($pages-$rad-1)) { echo " ... ".($pages).""; } if ($page<$pages-1) { echo " Next | Last"; }