#В переменной $page будет содержаться номер текущей страницы;
if (!empty($_GET["page"])){$page=$_GET["page"];}else{$page=1;}
#Общее количество строк
$rows=200;
#Количество строк на странице
$rowsonpage=10;
#Количество страниц-ссылок [листинга], плюс "Первая" и "Последняя";
$quantitylist=9;
#Общее количество страниц-ссылок [листинга]. Результат равен 20
$quantitylistMax=ceil($rows/$rowsonpage);
#Середина [листинга]. Результат равен 5
$quantitylisMiddle=ceil($quantitylist/2);
#Номер с которой начинается страница-ссылка [листинг]
$quantitylistStart=1;
#Отображать/скрывать ссылку "Первая" в [листинге]
$FirstPage=false;
#Отображать/скрывать ссылку "Последняя" в [листинге]
$LastPage=false;
#Далее определяем номер страницы-ссылки, с которой начнется отсчет в [листинге], зависит от переменной ($page)
if ($quantitylistMax<=$quantitylist){
$quantitylist=$quantitylistMax;
$quantitylistStart=1;
}elseif ($page<$quantitylisMiddle) {
$quantitylistStart=1;
$LastPage=true;
}elseif ($page>=$quantitylisMiddle and ($quantitylistMax-$page)>=$quantitylisMiddle) {
$quantitylistStart=$page-$quantitylisMiddle+1;
$FirstPage=true;
$LastPage=true;
}elseif (($quantitylistMax-$page)<$quantitylisMiddle) {
$quantitylistStart=$quantitylistMax-$quantitylist+1;
$FirstPage=true;
}
#Выводим страницы-ссылки [листинга]:
##Первая страница
if ($quantitylistMax>1){
if ($FirstPage and $quantitylistStart<>1){
print "<a href="http://{$_SERVER["HTTP_HOST"]}{$_SERVER["PHP_SELF"]}?page=1" title="Первая страница">←</a> ";
}
#Остальные страницы
for ($i=$quantitylistStart;$i<($quantitylistStart+$quantitylist);$i++){
if ($i==$page){print " {$i} ";}
else{print " <a href="http://{$_SERVER["HTTP_HOST"]}{$_SERVER["PHP_SELF"]}?page={$i}">{$i}</a>";}
}
#Последняя страница
if ($LastPage and ($quantitylistStart+$quantitylist)<=$quantitylistMax) {
print " <a href="http://{$_SERVER["HTTP_HOST"]}{$_SERVER["PHP_SELF"]}?page={$quantitylistMax}" title="Последняя страница">→</a> ";
}
}
?>
..........