Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   постраничный вывод (http://www.flasher.ru/forum/showthread.php?t=28371)

Neon 11.03.2002 19:00

постраничный вывод
 
Народ подскажите плиз!

Вот есть у меня гостевая ( txt file )

теперь я хочу чтобы когда на странице сообщений больше 10 она разбивалась на две..... ( Страница - 1 - 2 - и т.д. )



Заранее благодарень!

nagash 12.03.2002 00:34

Код:

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 - кол-во записей на страницу.


nagash 12.03.2002 00:35

забыл сказать... =)
её чуть чуть модернизировать надо... чтобы количество записей он сам считал и т.п.... вобщем просто всё очень... =)


Часовой пояс GMT +4, время: 15:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.