2013-04-08 150 views
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; 
} 

回答

0

需要更换

if ($counter == $page) { 
    $pagination. = " <a href=\"{$targetpage}{$counter}\">{$counter}</a> "; 
} 

if ($counter == $page) { 
    $pagination. = " <a href=\"{$targetpage}{$counter}\" class=\"current\">{$counter}</a> "; 
} 

附加按照你的CSS规则

a.current{background: #f00; color:#fff; border: 1px solid #000} /*change it however you like*/ 
+0

华友世纪的工作!我对CSS的愚蠢。非常感谢Ejay先生。一位救世主。 – boomu 2013-04-08 18:16:58

+0

这很了解。我希望你已经学会了使它工作的概念。 – Ejaz 2013-04-08 18:39:53