Добавить многоточие в пагинацию PHP

.
//Prev
. 
for($number = 1; $number <= $num_pages; $number++)
{   
    if($page == $number)
    {
        $navigator .= "<b>[$number]</b> ";
    }
    else
    {
        $navigator .= "<a href='?c=".$_SESSION['cID']".&rows=".$per_page."&page=$number'>$number</a> ";
    }
}
.
//Next
.

Это фрагмент, который печатает количество страниц.

Пример вывода:

Назад 1 2 3 4 [5] 6 7 8 9 10 Далее

Текущая страница 5.

Проблема: номера страниц отображаются последовательно без ограничений. Если у меня 100 страниц, отображаются все номера.

Вопрос: Мне нужно, чтобы мои номера страниц отображались как следующие ...

Предположим, у нас есть только 7 ($ num_pages) страниц:

Назад 1 2 [3] 4 5 6 7 Следующяя

Предположим, у нас есть 90 страниц:

[1] 2 3 4 5 6 7 ... 90 Далее

Предположим, пользователь щелкнул 7-ю страницу:

Предыдущий 1 ... 5 6 [7] 8 9 10 11 ... 90 Далее

Предположим, пользователь щелкнул 11-ю страницу:

Назад 1 ... 9 10 [11] 12 13 14 15 ... 90 Далее

Предположим, пользователь щелкнул 15-ю страницу:

Назад 1 ... 13 14 [15] 16 17 18 19 ... 90 Далее

Предположим, пользователь щелкнул 90-ю страницу:

Предыдущий 1 ... 84 85 86 87 88 89 [90]

Любая помощь будет принята с благодарностью.

7
задан user311509 20 August 2011 в 11:37
поделиться