Задать вопрос
@alekssamos
Программист любитель

Три первые и последние номера страницы?

Есть условно такой код:
$total_pages=147; /* подсчитывается на основе количества элементов в базе */
for($i = 1; $i <= $total_pages; $i++):
  echo '<a href="?page='.$i.'">'.$i.'</a>';
endfor;

Как сделать, чтобы он выводил так?
1 2 3 ... 135 136 137 ?
Пробовал через вторую переменную, но что-то намудрил - никак не вышло.
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
mahmudchon
@mahmudchon
$total_pages = 147;
$pages_count = 3;
$last_pages_start = $total_pages - $pages_count;

for($i = 1; $i <= $total_pages; $i++):
    if($i <= $pages_count || $i >= $last_pages_start) {
        echo '<a href="?page='.$i.'">'.$i.'</a>';
    }
    if($i == $pages_count) {
        echo '...';
        $i = $last_pages_start;
    }
endfor;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы