Показать сообщение отдельно
Старый 12.03.2002, 00:40
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 5  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
Код:
function getPages($total, $page, $link, $perpage) {
    $mpp = $perpage;
    $prev_page = $page - 1; 
    $next_page = $page + 1; 

    if ($total <= $mpp) $pages = 1; 
    elseif($total % $mpp == 0) $pages = $total / $mpp;
    else $pages = $total / $mpp + 1;
    $pages = (int) $pages;

    $s_pages    = $page<10 ? 1 : floor($page / 10) * 10;
    $e_pages    = $page + 9;

    if ($e_pages > $pages) {
        $e_pages = $pages;
    }

    $s = "";

    if($prev_page != 0) $s = "<a href=\"".$link."page=1\">&lt;&lt;</a> \n";
    if($prev_page) {
        $s .= "<a href=\"".$link."page=$prev_page\">&lt;</a> \n";
    }

    for($i=$s_pages;$i<=$e_pages;$i++) {
        if ($i != $page) { 
            $s .= "<a href=\"".$link."page=$i\">$i</a> \n"; 
        } elseif ($i != 1) {
            $s .= " <b>$i</b> "; 
        } elseif ($page != $pages) {
            $s .= " <b>1</b> ";
        }
    }
    if($page != $pages) {
        $s .= "<a href=\"".$link."page=$next_page\">&gt;</a> \n";
        $s .= "<a href=\"".$link."page=$pages\">&gt;&gt;</a> \n";
    }

    return $s;
}

--------------------------------------------------------------------------------
а вызывать, например 

$print_pages = getPages($total, $page, "$PHP_SELF?param1=1& param2=2&", $pp); 
где $total - всего записей, $page - текущая страница, $pp - кол-во записей на страницу.