<?php /*постраничная навигация *автор: nc_soft *25.08.07 */ /*предположим, что у нас есть следующие данные: $page=номер страницы $all=общее количество выводимых единиц*/ $all=50; //для примера //определяем номер страницы (если не задано, то естественно 1) $page=(isset($_GET['page'])) ? (int)$_GET['page'] : 1; //высчитываем общее число страниц (пусть разбивка по 5 элементов на страницу) $num_pages=ceil($all/5); //высчитываем с какой позиции надо выводить данные $start=$page*5-5; //обработка "дурацких" номеров страниц if ($page > $num_pages || $page < 1) { $page=1; $start=0; } //печатаем echo '<p>'; for($pr = '', $i =1; $i <= $num_pages; $i++) { echo $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 2) ? ($i == $page ? " [$i] " : ' <a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$i.'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... ')); } echo '</p>'; //вот такая вот жесть :) ?>