Да pager, если нужно могу полностью выложить фунцию кода, и еще кусок кода.
(Добавление)
Вот
PHP:
скопировать код в буфер обмена
function pager ($rpp, $count, $href, $opts = array()) { $pages = ceil($count / $rpp); if (!isset($opts['lastpagedefault'])) $pagedefault = 0; else { $pagedefault = floor(($count - 1 ) / $rpp); if ($pagedefault < 0) $pagedefault = 0; } if (isset($_GET['page'])) { $page = 0 + (int) $_GET['page']; if ($page < 0) $page = $pagedefault; } else $page = $pagedefault; $pager = "<td class=\"pager\">Страницы:</td><td class=\"pagebr\"> </td>"; $pager2 = ""; $bregs = ""; $mp = $pages - 1; $as = "<b>«</b>"; if ($page >= 1) { $pager .= "<td class=\"pager\">"; $pager .= "<a href=\"{$href}page=" . ($page - 1) . "\" style=\"text-decoration: none;\">$as</a>"; $pager .= "</td><td class=\"pagebr\"> </td>"; } $as = "<b>»</b>"; if ($page < $mp && $mp >= 0) { $pager2 .= "<td class=\"pager\">"; $pager2 .= "<a href=\"{$href}page=" . ($page + 1) . "\" style=\"text-decoration: none;\">$as</a>"; $pager2 .= "</td>$bregs"; } else $pager2 .= $bregs; if ($count) { $dotted = 0; $dotspace = 3; $dotend = $pages - $dotspace; $curdotend = $page - $dotspace; $curdotstart = $page + $dotspace; for ($i = 0; $i < $pages; $i++) { if (($i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart && $i < $dotend)) { if (!$dotted) $pagerarr[] = "<td class=\"pager\">...</td><td class=\"pagebr\"> </td>"; $dotted = 1; continue; } $dotted = 0; $start = $i * $rpp + 1; $end = $start + $rpp - 1; if ($end > $count) $end = $count; $text = $i+1; if ($i != $page) $pagerarr[] = "<td class=\"pager\"><a title=\"$start - $end\" href=\"{$href}page=$i\" style=\"text-decoration: none;\"><b>$text</b></a></td><td class=\"pagebr\"> </td>"; else $pagerarr[] = "<td class=\"highlight\"><b>$text</b></td><td class=\"pagebr\"> </td>"; } $pagerstr = join("", $pagerarr); $pagertop = "<table class=\"main\"><tr>$pager $pagerstr $pager2</tr></table>\n"; $pagerbottom = "Всего $count на $i страницах по $rpp на каждой странице.<br /><br /><table class=\"main\">$pager $pagerstr $pager2</table>\n"; } else { $pagertop = $pager; $pagerbottom = $pagertop; } $start = $page * $rpp; return array($pagertop, $pagerbottom, "LIMIT $start,$rpp"); }
(Отредактировано автором: 04 Июля, 2012 - 20:42:39)
|