Помогите сделать так что бы страницы отображались так
1 |2 | 3 | 5 |..... | 53 | 54 | 55 |
/**
* Постраничная навигация
* За основу взята доработанная функция от форума SMF 2.x.x
*
* @param string $url
* @param int $start
* @param int $total
* @param int $kmess
*
* @return string
*/
public static function display_pagination($url, $start, $total, $kmess)
{
$neighbors = 55;
if ($start >= $total)
$start = max(0, $total - (($total % $kmess) == 0 ? $kmess : ($total % $kmess)));
else
$start = max(0, (int)$start - ((int)$start % (int)$kmess));
$base_link = '<a class="pagenav" href="' . strtr($url, array('%' => '%%')) . 'page=%d' . '">%s</a><b>|</b>';
if ($start > $kmess * $neighbors)
$out[] = sprintf($base_link, 1, '1');
if ($start > $kmess * ($neighbors + 1))
$out[] = '<span style="font-weight: bold;">...</span>';
for ($nCont = $neighbors; $nCont >= 1; $nCont--)
if ($start >= $kmess * $nCont) {
$tmpStart = $start - $kmess * $nCont;
$out[] = sprintf($base_link, $tmpStart / $kmess + 1, $tmpStart / $kmess + 1);
}
$out[] = '<span class="currentpage"><b>' . ($start / $kmess + 1) . '</b></span>';
$tmpMaxPages = (int)(($total - 1) / $kmess) * $kmess;
for ($nCont = 1; $nCont <= $neighbors; $nCont++)
if ($start + $kmess * $nCont <= $tmpMaxPages) {
$tmpStart = $start + $kmess * $nCont;
$out[] = sprintf($base_link, $tmpStart / $kmess + 1, $tmpStart / $kmess + 1);
}
if ($start + $kmess * ($neighbors + 1) < $tmpMaxPages)
$out[] = '<span style="font-weight: bold;">...</span>';
if ($start + $kmess * $neighbors < $tmpMaxPages)
$out[] = sprintf($base_link, $tmpMaxPages / $kmess + 1, $tmpMaxPages / $kmess + 1);
if ($start + $kmess < $total) {
$display_page = ($start + $kmess) > $total ? $total : ($start / $kmess + 2);
}
return implode(' ', $out);
}
echo '<div class="topmenu">' . functions::display_pagination('index.php?', $start, $total, $kmess) . '</div>';
# ViROSS (25.01.2019 / 15:14)Чем хелпать?
fanatos,
# ViROSS (24.01.2019 / 21:16)Сделай мне о дельного фтп юзера и кинь данные в личку, завтра сделаю джоновскую постраничку.
Помогите сделать так что бы страницы отображались так
1 |2 | 3 | 5 |..... | 53 | 54 | 55 |