PHP簡單分頁函數代碼總結

來源:互聯網
上載者:User

例子一,這個分頁函數就有串連資料庫再查看
代碼不詳細解說了,注釋裡有

 代碼如下 複製代碼

<?php
  //page當前頁,num每頁的頁數
  $page=isset($_GET['page'])?intval($_GET['page']):1;
  $num=5;
  $conn = mysql_connect('127.0.0.1','root','');
  if (!$conn) {
   die('Could not connect:'.mysql_error());
  }
  mysql_select_db('shop');
  //擷取記錄總數
  $total=mysql_num_rows(mysql_query("select * from user"));
  //計算頁數
  $pagenum=ceil($total/$num);
  //限制頁數不能超 www.111cn.net 出範圍
  If($page>$pagenum || $page == 0){
    Echo 'Error : Can Not Found The page.';
    Exit;
  }
  //語句“Select * from table limit 0,10”從table表提取十條資訊,0為起點,10為提取的數目
  //$offset為起點值,如當前頁為第一頁,每頁5條,起點即為0,同理當前為第二頁,起點將為5
  $offset=($page-1)*$num;
  $result=mysql_query("select * from user limit $offset,$num");
  while($it=mysql_fetch_array($result)){
    echo 'id:'.$it['id'].' name:'.$it['name'].'<br />';
  }
  //顯示連結頁面切換連結,當前頁無連結
  for($i=1;$i<=$pagenum;$i++){
    $show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>";
    echo $show." ";
  }
  echo $total.'條記錄,每頁5條,共'.$pagenum.'頁';
   mysql_free_result($result);
  mysql_close($conn);
?>

例子二,直接的把分頁代碼邏輯提出來,重複利用比較好

 代碼如下 複製代碼

<?php
  /*
    #函數:csPage
    #功能:返回頁面列表
  */
  Function csPage($iPage,$aPage,$urlStart,$urlEnd){
    $tmp = "";
    if($iPage == 1 && $aPage == 1){
      $tmp = "<strong> 1/1 </strong>";
    }else{
      if($iPage == 1){
        $tmp = "<span> |< </span><span> << </span>";
      }else{
        $tmp = '<a title="首頁" href="' . $UrlStart . 1 . $urlEnd . '"> |< </a><a title="上一頁" href="' . $UrlStart . ($iPage-1) . $urlEnd . '"> << </a>';
      }
      $tmp .= "<strong> " . $iPage . "/" . $aPage . " </strong>";
      if($iPage == $aPage){
        $tmp .= '<span> >> </span><span> >| </span>';
      }else{
        $tmp .= '<a title="下一頁" href="' . $urlStart . ($iPage+1) . $urlEnd .' "> >> </a><a title="尾頁" href="' . $urlStart . $aPage . $urlEnd . '"> >| </a>';
      }
    }
    return $tmp;
  }
  ?>

總結一下,

如果讓我們選擇可能我會選擇第二種方法這樣維護好實現方法簡單,第一種分頁適合初學者合適簡單但維護複雜。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.