Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Backend-Methode zur Implementierung von Paging-Index-Generierungscode für Webseiten

PHP-Backend-Methode zur Implementierung von Paging-Index-Generierungscode für Webseiten

不言
不言Original
2018-06-08 14:47:371738Durchsuche

Dieser Artikel stellt hauptsächlich die PHP-Back-End-Methode zur Realisierung des Paging-Index-Generierungscodes von Webseiten vor. Jetzt kann ich ihn mit Ihnen teilen

Das Paging von Webseiten wirkt sich direkt auf das Benutzererlebnis aus. Es gibt viele Methoden mit ähnlichen Funktionen. Der Hauptvorteil der Methode, die ich hier geschrieben habe, besteht darin, dass das vordere und hintere Ende getrennt sind und Sie die Länge und Anzahl der Paging-Zeilen selbst definieren können

Testlegende:

Rendering:

Implementierungscode:

 /**
   *
   * @param $page   页码(1至正无穷)
   * @param $num   数据中多上行为一页
   * @param $rows   数据的总行数
   * @param $length  下标的最大长度
   * @return array
   */
  public function PageDate($page, $num , $rows , $length){
    //初始化数据
    $MaxPage = 0;         //最大页码
    $MinPage = 0;         //最小页码
    $ServerPage = 0;        //下拉框中显示的页码
    $PageData = array();      //全部的页码集合(用户下拉框选择)
    $PageShowData = array();    //用于显示下标的页码集合
    $page = intval($page);
 
    if($rows == 0){
      return $data = array(
        'page' => $page,
        'MaxPage' => $MaxPage,
        'MinPage' => $MinPage,
        'ServerPage' => $ServerPage,
        'PageData' => $PageData,
        'PageShowData' => $PageShowData
      );
    }
 
    //得到最大分页和最小分页
    $MaxPage = intval($rows / $num);
    $double = $rows % $num;
    if($double > 0.000000001)
    {
      $MaxPage += 1;
    }
    $MinPage = 1;
    $ServerPage = 1;
    //得到页码的全部项目
    for($i = 1; $i <= $MaxPage; $i++ ){
      $PageData[$i] = $i;
    }
    //对页码进行正确性改正
    if($page < $MinPage){
      $page = 1;
    }
 
    if($page > $MaxPage){
      $page = 1;
    }
    /*生成显示的页码标签*/
      //生成左侧的代码快
      if($page == $MinPage){
        $PageShowData[1] = $page;
      }
      if($page > $MinPage){
        $PageShowData[1] = $MinPage;
//        $PageShowData[2] = $page - 1; // <<
        $PageShowData[2] = &#39;<<&#39;; // <<
        if($page -2 > $MinPage ){
          $PageShowData[3] = $page - 2;
          $PageShowData[4] = $page - 1;
        }elseif($page -2 == $MinPage){
          $PageShowData[3] = $page - 1;
        }
        //确定选中的页码代码快
        $PageShowData[count($PageShowData) + 1] = $page;
      }
    $COUNT = count($PageShowData) + 1;
    //生成右侧的代码块
      if($page == $MaxPage){
        return $data = array(
          &#39;page&#39; => $page,
          &#39;MaxPage&#39; => $MaxPage,
          &#39;MinPage&#39; => $MinPage,
          &#39;ServerPage&#39; => $ServerPage,
          &#39;PageData&#39; => $PageData,
          &#39;PageShowData&#39; => $PageShowData
        );
      }
      if($page < $MaxPage) {
        if($MaxPage - $page >= 2){
          $j = 1;
          for($i = $COUNT; $i <= $length ; $i++){
            $PageShowData[$i] = $page + $j;
            $j ++;
            if($PageShowData[$i] == $MaxPage -1){
                 break;
              }
          }
        }
 
        $COUNT = count($PageShowData) + 1;
//        $PageShowData[$COUNT] = $page + 1; //>>
        $PageShowData[$COUNT] = &#39;>>&#39;;
        $PageShowData[$COUNT + 1] = $MaxPage;
 
        //得到选中的参数
        $ServerPage = $PageShowData[$COUNT-1] + 1;
        if($ServerPage > $MaxPage){
          $ServerPage = 1;
        }
 
        return $data = array(
          &#39;page&#39; => $page,
          &#39;MaxPage&#39; => $MaxPage,
          &#39;MinPage&#39; => $MinPage,
          &#39;ServerPage&#39; => $ServerPage,
          &#39;PageData&#39; => $PageData,
          &#39;PageShowData&#39; => $PageShowData
        );
      }
  }

Das Obige ist der gesamte Inhalt des Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Informationen zum Implementieren benutzerdefinierter Seitenstile in thinkPHP3.2

Verwenden Sie ThinkPHP, um Miniaturansichten zu generieren und Anzeigen

Über die Methode der Stapellöschung von thinkPHP

Das obige ist der detaillierte Inhalt vonPHP-Backend-Methode zur Implementierung von Paging-Index-Generierungscode für Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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