0

以下は私のphpページネーションコードです。ページネーション レイアウトで現在のページ番号に色を追加したいと考えています。私はphpについてあまり知らないので、誰かが以下のコードを見て、現在のページ番号のカラーコードを書くのを手伝ってください。現在のページ番号が強調表示されていないことを除いて、このコードではすべてがうまく機能しています。現在のページの色を追加しましたが、ページネーション コードと関係があることに気付きました。

public function getBasicPagination($total_pages, $page, $limit, $targetpage) {
  $adjacents = 3;
  if ($page == 0) {
    $page = 1;
  }
  $prev = $page - 1;
  $next = $page + 1;
  $lastpage = ceil($total_pages / $limit);
  $lpm1 = $lastpage - 1;
  $pagination = "";
  if (1 < $lastpage) {
    if (1 < $page) {
      $pagination. = " <a href=\"{$targetpage}{$prev}\">&laquo;</a> ";
    }
    else {
      $pagination. = " ";
    }
    if ($lastpage < 7 + $adjacents * 2) {
      $counter = 1;
      while ($counter <= $lastpage) {
        if ($counter == $page) {
          $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
        }
        else {
          $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
        }
        if ($counter < $lastpage) {
          $pagination. = " ";
        }
        ++$counter;
      }
    }
    else if (5 + $adjacents * 2 < $lastpage) {
      if ($page < 1 + $adjacents * 2) {
        $counter = 1;
        while ($counter < 4 + $adjacents * 2) {
          if ($counter == $page) {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          else {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          if ($counter < 3 + $adjacents * 2) {
            $pagination. = " ";
          }
          ++$counter;
        }
        $pagination. = " ... ";
        $pagination. = " <a href=\"{$targetpage}{$lpm1}\">{$lpm1}</a> ";
        $pagination. = " <a href=\"{$targetpage}{$lastpage}\">{$lastpage}</a> ";
      }
      else if ($page < $lastpage - $adjacents * 2 && $adjacents * 2 < $page) {
        $pagination. = " <a href=\"{$targetpage}1\">1</a > ";
        $pagination. = " <a href=\"{$targetpage}2\">2</a> ";
        $pagination. = " ... ";
        $counter = $page - $adjacents;
        while ($counter <= $page + $adjacents) {
          if ($counter == $page) {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          else {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          if ($counter < $page + $adjacents) {
            $pagination. = " ";
          }
          ++$counter;
        }
        $pagination. = " ... ";
        $pagination. = " <a href=\"{$targetpage}{$lpm1}\">{$lpm1}</a> ";
        $pagination. = " <a href=\"{$targetpage}{$lastpage}\">{$lastpage}</a> ";
      }
      else {
        $pagination. = " <a href=\"{$targetpage}1\">1</a> ";
        $pagination. = " <a href=\"{$targetpage}2\">2</a> ";
        $pagination. = " ... ";
        $counter = $lastpage - (2 + $adjacents * 2);
        while ($counter <= $lastpage) {
          if ($counter == $page) {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          else {
            $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> ";
          }
          if ($counter < $lastpage) {
            $pagination. = " ";
          }
          ++$counter;
        }
      }
    }
    if ($page < $counter - 1) {
      $pagination. = " <a href=\"{$targetpage}{$next}\">&raquo;</a> ";
    }
    else {
      $pagination. = " ";
    }
  }
  if (empty($pagination)) {
    $pagination = " <a href=\"{$targetpage}1\">1</a> ";
  }
  return $pagination;
}
4

1 に答える 1