Puppollo
4/24/2014 - 8:52 AM

Постраничная навигация

Постраничная навигация

<?php

/**
 * Класс для отрисовки страниц
 */
class cPager {

  /**
   * Функция отрисовки постраничной навигации
   * @param int $current - номер текущей страницы
   * @param int $amount - кол-во страниц для показа
   * @param int $count - кол-во результатов
   */
  public static function draw($current, $amount, $count) {
    if ($count > $amount)
      $pageCount = $count / $amount;
    if ($pageCount === 1)
      return;

    $half = $amount / 2;
    $start = $current - $half;
    $end = $current + $half;
    if ($start <= 0)
      $start = 1;
    if ($end > $pageCount)
      $end = $pageCount;

    echo '<ul>';
    if ($start > 1)
      echo '<li><a href="#" data-value="1" class="first-page">1</a></li>';
    for ($p = $start; $p <= $end; $p++) {
      echo '<li><a href="#" data-value="' . $p . '">' . $p . '</a></li>';
    }
    if ($end < $pageCount)
      echo '<li><a href="#" data-value="' . ceil($pageCount) . '" class="last-page">' . ceil($pageCount) . '</a></li>';
    echo '</ul>';
  }

}