婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP封裝的page分頁類定義與用法完整示例

PHP封裝的page分頁類定義與用法完整示例

熱門標簽:亳州企業外呼系統 地圖標注怎么做商戶驗證 海南外呼系統方案 蘇州外呼系統有效果嗎 山東電銷卡外呼系統原理是什么 兼職做地圖標注好賺錢嗎 智能電銷語音機器人資訊 打開百度地圖標注 400 電話 辦理

本文實例講述了PHP封裝的page分頁類定義與用法。分享給大家供大家參考,具體如下:

親測有效,見下圖=========>

1. 測試實例test.php

?php
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set("Asia/Shanghai"); //時區
require_once('page.class.php');
$showrow = 5;
$curpage = empty($_GET['page']) ? 1 : $_GET['page'];
$url = "?page={page}";
$dsn = 'mysql:host=xxx.xxx.80.xxx;dbname=admin';
$pdo = new PDO($dsn, 'root', 'root');
$pdo->query('set names utf8');
$sql = "SELECT * from operator_list where 1=1";
$res_gg = $pdo->query("SELECT count(*) as ctn from operator_list where 1=1;");
$result = $res_gg->fetch();
$total = $result["ctn"];
if (!empty($_GET['page'])  $total != 0  $curpage > ceil($total / $showrow)) {
  $curpage = ceil($total_rows / $showrow);
}
$sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;";
$res_zz = $pdo->query($sql);
$result = $res_zz->fetchAll();
//print_r(json_encode($result));die;
?>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
  meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  title>/title>
  meta name="keywords" content="入庫"/>
  meta name="description" content="入庫"/>
  script type="text/javascript" src="static/js/jquery-1.11.0.min.js?v=1">/script>
  link rel="stylesheet" type="text/css" href="static/css/common.css" rel="external nofollow" />
/head>
body>
div class="head">
  !--  div class="head_inner clearfix">-->
  !--    ul id="nav">-->
  !--      li>a href="javascript;" rel="external nofollow" rel="external nofollow" >商品列表/a>/li>-->
  !--      li>a href="javascript;" rel="external nofollow" rel="external nofollow" >詳情列表/a>/li>-->
  !--    /ul>-->
  !--        a class="logo" href="javascript" rel="external nofollow" >
            img src="javascript;" alt="公司logo" />/a> -->
  !--  /div>-->
/div>
div class="container">
  div class="demo">
    h2 class="title">報表/h2>
    div class="showData">
      table width="100%" border="0" align="center"
      style="border:1px solid #ccc;" cellpadding="0" cellspacing="1">
        tr align="center">
          td>ID/td>
          td>商品編號/td>
          td>訂閱狀態/td>
          td>商品狀態/td>
          td>修改時間/td>
          td>創建時間/td>
        /tr>
        ?php
        if (!empty($result)) {
          foreach ($result as $k => $v) {
            ?>
            tr align="center">
              td>?php echo $v['id']; ?>/td>
              td>?php echo $v["customer_id"]; ?>/td>
              td>?php echo $v["name"]; ?>/td>
              td>?php echo $v["role_id"]; ?>/td>
              td>?php echo $v["status"]; ?>/td>
              td>?php echo $v["cdate"]; ?>/td>
            /tr>
            ?php
          }
        }
        ?>
      /table>
    /div>
    div class="showPage">
      ?php
      if ($total > $showrow) {//總記錄數大于每頁顯示數,顯示分頁
        $page = new page($total, $showrow, $curpage, $url, 3);
        echo $page->myde_write();
      }
      ?>
    /div>
  /div>
/div>
div class="foot">
  阿里巴巴:a href="#" rel="external nofollow" target="_blank">https://www.taobao.com/a>
/div>
/body>
/html>

2. 封裝的page分頁類page.class.php

?php
/* * *********************************************
 * @類名:  page
 * @參數:  $myde_total - 總記錄數
 *     $myde_size - 一頁顯示的記錄數
 *     $myde_page - 當前頁
 *     $myde_url - 獲取當前的url
 * @功能:  分頁實現
 */
class page {
  private $myde_total;     //總記錄數
  private $myde_size;      //一頁顯示的記錄數
  private $myde_page;      //當前頁
  private $myde_page_count;   //總頁數
  private $myde_i;       //起頭頁數
  private $myde_en;       //結尾頁數
  private $myde_url;      //獲取當前的url
  /*
   * $show_pages
   * 頁面顯示的格式,顯示鏈接的頁數為2*$show_pages+1。
   * 如$show_pages=2那么頁面上顯示就是[首頁] [上頁] 1 2 3 4 5 [下頁] [尾頁]
   */
  private $show_pages;
  public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {
    $this->myde_total = $this->numeric($myde_total);
    $this->myde_size = $this->numeric($myde_size);
    $this->myde_page = $this->numeric($myde_page);
    $this->myde_page_count = ceil($this->myde_total / $this->myde_size);
    $this->myde_url = $myde_url;
    if ($this->myde_total  0)
      $this->myde_total = 0;
    if ($this->myde_page  1)
      $this->myde_page = 1;
    if ($this->myde_page_count  1)
      $this->myde_page_count = 1;
    if ($this->myde_page > $this->myde_page_count)
      $this->myde_page = $this->myde_page_count;
    $this->limit = ($this->myde_page - 1) * $this->myde_size;
    $this->myde_i = $this->myde_page - $show_pages;
    $this->myde_en = $this->myde_page + $show_pages;
    if ($this->myde_i  1) {
      $this->myde_en = $this->myde_en + (1 - $this->myde_i);
      $this->myde_i = 1;
    }
    if ($this->myde_en > $this->myde_page_count) {
      $this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count);
      $this->myde_en = $this->myde_page_count;
    }
    if ($this->myde_i  1)
      $this->myde_i = 1;
  }
  //檢測是否為數字
  private function numeric($num) {
    if (strlen($num)) {
      if (!preg_match("/^[0-9]+$/", $num)) {
        $num = 1;
      } else {
        $num = substr($num, 0, 11);
      }
    } else {
      $num = 1;
    }
    return $num;
  }
  //地址替換
  private function page_replace($page) {
    return str_replace("{page}", $page, $this->myde_url);
  }
  //首頁
  private function myde_home() {
    if ($this->myde_page != 1) {
      return "a href='" . $this->page_replace(1) . "' title='首頁'>首頁/a>";
    } else {
      return "p>首頁/p>";
    }
  }
  //上一頁
  private function myde_prev() {
    if ($this->myde_page != 1) {
      return "a href='" . $this->page_replace($this->myde_page - 1) . "' title='上一頁'>上一頁/a>";
    } else {
      return "p>上一頁/p>";
    }
  }
  //下一頁
  private function myde_next() {
    if ($this->myde_page != $this->myde_page_count) {
      return "a href='" . $this->page_replace($this->myde_page + 1) . "' title='下一頁'>下一頁/a>";
    } else {
      return"p>下一頁/p>";
    }
  }
  //尾頁
  private function myde_last() {
    if ($this->myde_page != $this->myde_page_count) {
      return "a href='" . $this->page_replace($this->myde_page_count) . "' title='尾頁'>尾頁/a>";
    } else {
      return "p>尾頁/p>";
    }
  }
  //輸出
  public function myde_write($id = 'page') {
    $str = "div id=" . $id . ">";
    $str.=$this->myde_home();
    $str.=$this->myde_prev();
    if ($this->myde_i > 1) {
      $str.="p class='pageEllipsis'>.../p>";
    }
    for ($i = $this->myde_i; $i = $this->myde_en; $i++) {
      if ($i == $this->myde_page) {
        $str.="a href='" . $this->page_replace($i) . "' title='第" . $i . "頁' class='cur'>$i/a>";
      } else {
        $str.="a href='" . $this->page_replace($i) . "' title='第" . $i . "頁'>$i/a>";
      }
    }
    if ($this->myde_en  $this->myde_page_count) {
      $str.="p class='pageEllipsis'>.../p>";
    }
    $str.=$this->myde_next();
    $str.=$this->myde_last();
    $str.="p class='pageRemark'>共b>" . $this->myde_page_count .
        "/b>頁b>" . $this->myde_total . "/b>條數據/p>";
    $str.="/div>";
    return $str;
  }
}
?>

3. css樣式

html, body, div, span, h1, h2, h3, h4, h5, h6, p, pre,
a, code, em, img, small, strong, sub, sup, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
a {
  color: #007bc4;
  text-decoration: none;
  cursor: pointer;
}
.table_parameters a:hover {
  text-decoration: none
}
a:hover {
  text-decoration: underline
}
ol, ul {
  list-style: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
/*html {*/
/*background: url(../images/demo_bg.png)*/
/*}*/
body {
  height: 100%;
  font: 12px/18px "Microsoft Yahei", Tahoma, Helvetica,
  Arial, Verdana, "\5b8b\4f53", sans-serif;
  color: #51555c
}
img {
  border: 0;
  cursor: pointer;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0
}
.head {
  /*border-bottom: 1px solid #dadada;*/
  padding: 0 0 5px
}
.head_inner {
  margin: 0 auto;
  width: 980px
}
.container {
  width: 80%;
  /*min-height: 600px;*/
  margin: 30px auto 0 auto;
  border: 1px solid #d3d3d3;
  background: #fff;
  -moz-border-radius: 5px;
  -khtml-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px
}
.demo > h2.title {
  margin: 4px 0 30px;
  padding: 15px 0 10px 20px;
  border-bottom: 1px solid #d3d3d3;
  font-size: 18px;
  color: #a84c10;
  background: url(../images/arrow.jpg) no-repeat 2px 14px
}
.foot {
  height: 60px;
  padding: 10px 2px;
  line-height: 24px;
  text-align: center
}
.foot a:hover {
  color: #51555c
}
.btn {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  background-color: #ff8400;
  color: #fff;
  display: inline-block;
  height: 28px;
  line-height: 28px;
  text-align: center;
  padding: 0 12px;
  transition: background-color .2s linear 0s;
  border: 0;
  cursor: pointer
}
.btn:hover {
  background-color: #e95a00;
  text-decoration: none
}
.demo {
  width: 700px;
  margin: 0 auto
}
ul.ul_demo li {
  background: url("../images/demo_icon.gif") no-repeat scroll 0 6px;
  line-height: 28px;
  padding-left: 20px
}
.input, .table input[type='text'] {
  border: 1px solid #ccc;
  padding: 0 5px;
  width: 220px;
  height: 26px;
  line-height: 26px
}
#nav {
  float: right;
  margin: 30px 0 0
}
#nav li {
  float: left;
  font-size: 16px;
  margin-right: 20px
}
.btn.loading {
  opacity: .5
}
h3 a.cur {
  color: #f30;
}
.demo h3 a {
  font-size: 14px;
  margin: 0 10px 5px 0;
  display: inline-block
}
.red {
  color: red
}
.notice {
  font-size: 14px;
  margin-bottom: 10px;
}
.table_parameters {
  border-left: 1px solid #d3d3d3;
  border-top: 1px solid #d3d3d3;
  margin: 6px auto;
  font-size: 14px
}
.table_parameters tr.tr_head {
  background: none repeat scroll 0 0 #f7f7f7;
  font-weight: bold;
  padding: 6px;
  text-align: center
}
.table_parameters td, .table_parameters th {
  border-bottom: 1px solid #d3d3d3;
  border-right: 1px solid #d3d3d3;
  line-height: 26px;
  padding: 2px
}
h1 {
  font: 32px "Microsoft Yahei";
  margin: 40px auto;
  text-align: center;
}
h2 {
  font-size: 16px;
  margin: 10px 0;
}
.menu {
  height: 30px;
  margin-bottom: 30px;
  padding: 10px;
  background-color: #f0f0f0;
  text-align: center;
}
.menu a {
  display: inline-block;
  height: 30px;
  padding: 0 20px;
  line-height: 30px;
  font-size: 14px;
  color: #333;
  text-decoration: none;
}
.menu a:hover {
  color: #000;
  background-color: #e9e9e9;
}
.menu .cur {
  background-color: #ddd !important;
  color: #000;
}
.vad a {
  display: inline-block;
  height: 36px;
  line-height: 36px;
  margin: 0 5px;
  padding: 0 50px;
  font-size: 14px;
  text-align: center;
  color: #eee;
  text-decoration: none;
  background-color: #222;
}
.vad a:hover {
  color: #fff;
  background-color: #000;
}
.thead {
  width: 728px;
  height: 90px;
  margin: 0 auto;
}
textarea {
  border: 1px solid #ccc;
  font-size: 12px;
  height: 100px;
  line-height: 18px;
  padding: 5px;
  width: 300px;
}
.table td {
  padding: 10px 0
}
.disabled {
  opacity: .6;
  filter: alpha(opacity=60)
}
.demo > p {
  line-height: 30px;
  font-size: 14px
}
.demo > p a {
  font-size: 14px
}
.demo h3 {
  font-size: 16px;
  margin: 20px 0
}
select {
  background-color: #fff;
  background-position: right center;
  background-repeat: no-repeat;
  border: 1px solid #888;
  border-radius: 3px;
  box-sizing: border-box;
  font: 12px/1.5 Tahoma, Arial, sans-serif;
  height: 30px;
  padding: 0 4px;
}
fieldset {
  border: 1px solid #ccc;
  border-radius: 5px;
  margin: 1em 0;
  padding: 10px 20px;
}
dl.row dt {
  width: 2em;
}
dl.row dt {
  clear: left;
  float: left;
  line-height: 30px;
  padding: 5px;
  text-align: right;
  width: 6em;
}
dl.row dd {
  float: left;
  padding: 5px;
}
.pager {
  text-align: right;
}
.pager a {
  padding: 3px 8px;
  margin-left: 3px;
  line-height: 20px;
  background: #f9f9f9;
  border: 1px solid #DBDBDB;
  text-decoration: none
}
.pager a:hover,
.pager a.current {
  background-color: #7CD5B1;
  color: #fff;
  border: 1px solid #7CD5B1;
  cursor: pointer;
}
.page {
  text-align: center;
  margin: 50px 0
}
.page a, .page span.prev_disabled {
  border: 1px solid #ededed;
  color: #3d3d3d;
  font-weight: 700;
  height: 35px;
  line-height: 35px;
  margin-left: 5px;
  min-width: 9px;
  padding: 0 13px;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  font-family: "simsun";
  display: inline-block
}
.page span.prev_disabled {
  cursor: default;
  color: #ccc;
  margin: 0 10px 0 0
}
.page a.current {
  background-color: #f40;
  border-color: #f40;
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.page .extra {
  display: inline-block;
  margin-left: 10px;
  height: 35px;
  line-height: 35px;
  color: #656565;
}
.page .page-num {
  border: 1px solid #ededed;
  height: 21px;
  text-align: center;
  width: 35px;
  display: inline-block
}
.page .page-submit {
  background-clip: padding-box;
  border: 1px solid #ededed;
  border-radius: 2px;
  cursor: pointer;
  height: 21px;
  line-height: 21px;
  text-align: center;
  width: 43px;
  display: inline-block
}
.page .page-submit:hover {
  border-color: #f40;
  color: #f40;
}
.page a:focus, .page a:hover {
  border-color: #f40;
  z-index: 1;
}
.loading {
  margin: 30px 0;
  text-align: center
}
p {
  margin: 0
}
#page {
  height: 40px;
  padding: 20px 0px;
}
#page a {
  display: block;
  float: left;
  margin-right: 10px;
  padding: 2px 12px;
  height: 24px;
  border: 1px #cccccc solid;
  background: #fff;
  text-decoration: none;
  color: #808080;
  font-size: 12px;
  line-height: 24px;
}
#page a:hover {
  color: #077ee3;
  border: 1px #077ee3 solid;
}
#page a.cur {
  border: none;
  background: #077ee3;
  color: #fff;
}
#page p {
  float: left;
  padding: 2px 12px;
  font-size: 12px;
  height: 24px;
  line-height: 24px;
  color: #bbb;
  border: 1px #ccc solid;
  background: #fcfcfc;
  margin-right: 8px;
}
#page p.pageRemark {
  border-style: none;
  background: none;
  margin-right: 0px;
  padding: 4px 0px;
  color: #666;
}
#page p.pageRemark b {
  color: red;
}
#page p.pageEllipsis {
  border-style: none;
  background: none;
  padding: 4px 0px;
  color: #808080;
}
.dates li {
  font-size: 14px;
  margin: 20px 0
}
.dates li span {
  text-align: center
}
td {
  font-size: 15px;
  margin: 20px 0
}

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysql數據庫操作入門教程》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP網絡編程技巧總結》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP封裝的完整分頁類示例
  • thinkPHP框架可添加js事件的分頁類customPage.class.php完整實例
  • php封裝的page分頁類完整實例
  • php自定義分頁類完整實例
  • php封裝的page分頁類完整實例代碼

標簽:紹興 溫州 清遠 綏化 金華 安康 萊蕪 呼倫貝爾

巨人網絡通訊聲明:本文標題《PHP封裝的page分頁類定義與用法完整示例》,本文關鍵詞  PHP,封,裝的,page,分頁,類,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP封裝的page分頁類定義與用法完整示例》相關的同類信息!
  • 本頁收集關于PHP封裝的page分頁類定義與用法完整示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 友谊县| 襄汾县| 五台县| 普定县| 盖州市| 云南省| 大名县| 武汉市| 遵义市| 浠水县| 靖边县| 盐山县| 韶山市| 瓮安县| 蓬安县| 江源县| 师宗县| 武强县| 苏尼特右旗| 米林县| 承德县| 贵州省| 财经| 昌图县| 聊城市| 治县。| 临桂县| 赤壁市| 车险| 雅安市| 巧家县| 建德市| 固镇县| 垣曲县| 和龙市| 两当县| 五寨县| 正镶白旗| 兴仁县| 凤翔县| 蓬安县|