Heim  >  Artikel  >  Backend-Entwicklung  >  Häufig verwendete PHP-Paket-Paging-Tools

Häufig verwendete PHP-Paket-Paging-Tools

高洛峰
高洛峰Original
2017-01-16 14:49:451046Durchsuche

Paging wird grundsätzlich von jedem Projekt verwendet, daher wird es in eine Tool-Klasse gekapselt und in Zukunft direkt aufgerufen (Obwohl das TP-Framework sehr leistungsfähig ist, ist es keine schlechte Idee, eines selbst zu versiegeln.), was spart Zeit und Mühe und verdient „Arbeitspunkte“.

Die von mir versiegelte Paging-Tool-Klasse ist relativ vollständig, mit Startseite, vorheriger Seite, nächster Seite, letzter Seite und einer optionalen Anzahl von Seitenzahlen (d. h. bei vielen Seiten werden nur die Parameter übergeben). angezeigt werden (die Anzahl der Einträge), können Sie auch wählen, ob Sie die Dropdown-Seitensprungfunktion entsprechend Ihren Anforderungen verwenden möchten.

<?php
/**
 * 分页工具类
 */
 
class page{
 
  /**
   * 返回分页所需字符串
   * @param $pageNum int 显示的页码
   * @param $pageCount int 总的页码数 
   * @param $url string 当前页码路径
   * @param $Count string 页码列表里显示的个数
   * @param $selected bool 是否开启下拉框选择功能。默认不开启
   * return $strpage string 分页字符串
   */
  function showPage($pageNum,$pageCount,$url,$Count = 5,$selected = false){
    $pageMaxVal = $Count - 1;// 页码到达最大时,页码列表里第一个页码与最大页码的差
    $pageMiddleVal = ceil($Count / 2);// 依据需要显示页码个数得到的中间值
    $pageMiddleCha = floor($Count / 2);// 依据需要显示页码个数得到的当前页码与第一个页码的差
 
    // 判断url是否已经存在?
    if(!strpos($url, &#39;?&#39;)){ // 未存在?
      $url .= &#39;?&#39;;
    }else{
      $url .= &#39;&&#39;;
    }
 
    // 首页
    $strpage = "<a href=&#39;{$url}num=1&#39;>首页</a>";
 
    // 上一页
    $preNum = $pageNum > 1 ? $pageNum - 1 : 1;
 
    // 当页码为第一页时取消上一页按钮的功能
    $strpage .= $pageNum == 1 ? "<a class=&#39;unshow&#39;>上一页</a>" : "<a href=&#39;{$url}num={$preNum}&#39;>上一页</a>";
 
    // 显示的页码列表中的第一个页码
    $startPage = $pageNum > $pageMiddleVal ? $pageNum - $pageMiddleCha : 1;
    // 起始页码最大值 = 总页数 - 4
    if($pageCount - $pageMaxVal > 0 && $startPage > $pageCount - $pageMaxVal){
      $startPage = $pageCount - $pageMaxVal;
    }
 
    // 显示的页码列表中的最后一个页码
    $endPage = $startPage<($pageCount - $pageMaxVal) ? $startPage + $pageMaxVal : $pageCount;
 
    // 中间数字页码
    for($i=$startPage;$i<=$endPage;$i++){
      if($i == $pageNum){
        $strpage .= "<span>$i</span>";
      }else{
        $strpage .= "<a href=&#39;{$url}num=$i&#39;>$i</a>";
      }
    }
 
    // 下一页
    $nextNum = $pageNum < $pageCount ? $pageNum + 1 : $pageCount;
 
    // 当页码为最后一页时取消下一页按钮的功能
    $strpage .= $pageNum == $pageCount ? "<a class=&#39;unshow&#39;>下一页</a>" : "<a href=&#39;{$url}num={$nextNum}&#39;>下一页</a>";
 
    // 末页
    $strpage .= "<a href=&#39;{$url}num={$pageCount}&#39;>末页</a>";
 
    // 总页数
    $strpage .= "总页数:{$pageCount}  ";
 
    // 判断是否是否选择页码功能
    if($selected){ // 选择了
      $strpage .= "当前页码:<select onchange=\"location.href=&#39;{$url}num=&#39; + this.value \">";
        for($i = 1; $i <= $pageCount;$i++){
          if($i == $pageNum){
            $strpage .= "<option value=&#39;$i&#39; selected=&#39;selected&#39;>$i</option>";
          }else{
            $strpage .= "<option value=&#39;$i&#39;>$i</option>";
          }
        }
         
      $strpage .= "</select>";
    }
 
    return $strpage;
  }
 
}

Der Rest des MySQL-Wissens sollte als nächstes veröffentlicht werden. Ich hoffe, dass alle weiterhin aufmerksam sind.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.

Weitere Artikel zu häufig verwendeten PHP-Paket-Paging-Tools finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Paging-KlassencodeNächster Artikel:PHP-Paging-Klassencode