PDA

Просмотр полной версии : постраничный вывод


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
забыл сказать... =)
её чуть чуть модернизировать надо... чтобы количество записей он сам считал и т.п.... вобщем просто всё очень... =)