亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

分享的一個分頁類

2024-09-04 11:43:58
字體:
來源:轉載
供稿:網友
  1. <?php  
  2. /* C_page.php
  3. * $db = new mysql("localhost","root","roort","dbname","utf8"); //實例化數據庫類  
  4. * $sql = "SELECT * FROM article order by article_id desc"; //sql語句  
  5. * $page = new page($sql,7,"index.php?"); //實例化分頁類  
  6. * $sql = $page->pagesql(); //格式化sql語句  
  7. * $result = $db->query($sql);  
  8. * while($row=$db->fetch_array($result)) {  
  9. * echo $row["article_id"].$row["article_title"]."<br />";  
  10. * }  
  11. * echo $page->show(); //輸出html  
  12. * $db->close();  
  13. * ====================================================  
  14. */ 
  15. class multipage{  
  16. private $url;  
  17. private $pagesize//每頁要顯示的記錄數  
  18. private $sql//sql語句  
  19. private $getpage//當前頁數  
  20.  
  21. //參數:sql語句,每頁記錄數,傳遞鏈接(例如"index.php?"或者"index.php?sort=1&"等)  
  22. //輸出的url為index.php?page=23或者index.php?type=1&page=2  
  23. //意思為第23頁或者第1類的第2頁  
  24. //開始初始化  
  25. function __construct($sql,$pagesize,$url) {  
  26. $this->url = $url;  
  27. $this->pagesize = $pagesize;  
  28. $this->sql = $sql;  
  29. $this->getpage = intval$_GET['page'] ); //page值由url傳遞,例如list.php?page=2  
  30. if(!$this->getpage) { //檢查是否傳遞了page值,如果沒有則設置為1  
  31. $this->getpage=1;  
  32. }  
  33. }  
  34.  
  35. //獲取記錄總條數  
  36. function getcount() {  
  37. return mysql_num_rows(mysql_query($this->sql));  
  38. }  
  39.  
  40. //格式化sql語句  
  41. function pagesql() {  
  42. $nowpage = $this->getpage; //當前頁號  
  43. $limitNumber$this->pagesize; //每頁記錄數  
  44. if($nowpage<1) { //如果不是合法頁號,則設置為第一頁,如果超出了最后一頁是不是應該同樣操作????  
  45. $nowpage=1;  
  46. }  
  47. return $this->sql." limit ".($nowpage-1)*$limitNumber.",".$limitNumber;  
  48. //對sql語句處理,加上limit算法 select * from table limit offset,rows  
  49. // 1-10,11-20,21-30  
  50. //如每頁顯示10條,那么第3頁就要顯示第30-39間的10條,就是 select * from `table` limit 20,10  
  51. }  
  52.  
  53. //顯示分頁,參數:顯示數字鏈接個數,偏移量  
  54. //$offset的作用是如果當前頁號是4,那么分頁條中就會顯示從(4-2=2)開始的5頁的鏈接  
  55. //那么,要顯示的練級的頁號就是從2開始到6,即4-2=2到4+5-2-1=6  
  56. //分頁條的結構是 offset+1+(page-offset-1)=page  
  57. function show($page = 5,$offset = 2){ //page是要顯示的數字鏈接的個數,如果頁數太多,不能全部顯示,只顯示一部分  
  58. $mpurl = $this->url; //默認url,就是除去頁號變量的部分  
  59. $curr_page = $this->getpage; //當前頁號  
  60. $perpage = $this->pagesize; //每頁記錄數  
  61. $num=$this->getcount(); //調用本類中的getcount函數,獲得總記錄數  
  62. $multipage = ''//初始化分頁代碼html內容  
  63.  
  64. //如果總記錄數大于每頁顯示的記錄數,也就是說一頁以上  
  65. if ($num$perpage){  
  66. $totalpage = ceil($num / $perpage); //pages總頁數=總記錄數/每頁記錄數  
  67. $from = $curr_page - $offset//分頁條開始頁號  
  68. $to = $curr_page + $page - $offset - 1; //分頁條結束頁號  
  69. //------------------------------------------------------------------------------------------------  
  70. if ($page$totalpage){ //如果初始的分頁條顯示的鏈接數大于 總頁數  
  71. $from = 1; //即 不足以填充滿一個分頁條的情況下  
  72. $to = $totalpage//最后一個鏈接就是總頁數  
  73. }else{  
  74. //------------------------------------------------------------------------------------------------  
  75. //下面討論的是當一個分頁條的鏈接數不能完整的顯示出所有的頁號時  
  76. //如 上一頁……3 4 5 6 7……下一頁 當前為第5頁,共有記錄100條,20頁  
  77. //------------------------------------------------------------------------------------------------  
  78. //第一種特殊情況 如 上一頁 1 2 3 4 5……下一頁 當前為第1頁的情況下  
  79. //這樣計算出來的$from<1甚至小于0  
  80. if ($from <1){ //當前頁號是1的時候,如果繼續按照上面的算法,$from頁號會是-1,這要求在$from<1時,重新初始化$from=1  
  81. $to = $curr_page + 1-$from//計算結束頁號  
  82. //這里的$from=$curpage - $offset  
  83. //$to為什么要等于$curpage + 1 - $from 呢?  
  84. //這里的$to的值永遠是$offset+1  
  85. //為什么不直接給$to一個常量或什么呢?  
  86. $from = 1; //重新設置開始頁號,因為$from<1是不合法的  
  87. if (($to - $from) <$page && ($to - $from) <$totalpage){ //如果分頁條顯示的鏈接數小于預設值和總頁數  
  88. $to = $page//結束頁號設置為$page  
  89. }  
  90. //------------------------------------------------------------------------------------------------  
  91. //下面的情況是當前頁為最后頁的情況,處理同上  
  92. }elseif ($to$totalpage){ //  
  93. $from = $curr_page - $totalpage + $to//  
  94. $to = $totalpage//  
  95. if (($to - $from) <$page && ($to - $from) <$totalpage){ //  
  96. $from = $totalpage - $page + 1; //  
  97. }  
  98. }  
  99. }  
  100. //開始定義輸出  
  101.  
  102.  
  103. $multipage .= '<div class="pagebar">';  
  104. $multipage .= '<span>'.$num.'</span>';  
  105. $multipage .= '<span>'.$curr_page.'/'.$totalpage.'</span>';  
  106. if ($curr_page - $offset> 1){  
  107. $multipage .= '<li><a href="'.$mpurl.'page=1" title="首頁">首頁</a></li> ';  
  108. $prev_page =$curr_page-1;  
  109. $multipage .='<li><a href="'.$mpurl.'page='.$prev_page.'title="上一頁">上一頁</a></li> ';  
  110. }  
  111. for ($i = $from$i <= $to$i++){  
  112. if ($i != $curr_page){  
  113. $multipage .='<li><a href="'.$mpurl.'page='.$i.'" title="第'.$i.'頁">'.$i.'</a></li> ';  
  114. }else{  
  115. $multipage .= '<li> <span class="pcurpage">'.$i.'</span></li>';//當前頁不用帶超鏈接  
  116. }  
  117. }  
  118. if ($curr_page + $offset <$totalpage){  
  119. $next_page =$curr_page-1;  
  120. $multipage .='<li><a href="'.$mpurl.'page='.$next_page.'title="下一頁">下一頁</a></li> ';  
  121. $multipage .= '<li><a href="'.$mpurl.'page='.$totalpage.'" title=“尾頁”>尾頁</a></li>';  
  122. }  
  123. $multipage .='</div>';  
  124. }  
  125. return $multipage;  
  126. }  
  127. }  
  128. //輸出結構為 首頁 上一頁 2 3 4 5 6 下一頁 尾頁  
  129. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成电影网站| 欧美国产高跟鞋裸体秀xxxhd| 国产一区二区欧美日韩| 日韩福利伦理影院免费| 成人h视频在线| 亚洲va码欧洲m码| 欧美黑人一级爽快片淫片高清| 国产精品自拍偷拍| 青青精品视频播放| 亚洲欧美精品一区| 国产精自产拍久久久久久蜜| 26uuu日韩精品一区二区| 欧美日韩精品在线播放| 欧美成人亚洲成人| 久久大大胆人体| 成人黄色在线播放| 国产精品午夜一区二区欲梦| 久久欧美在线电影| 色综合久久天天综线观看| 免费av一区二区| 青青久久av北条麻妃黑人| 久久视频中文字幕| 午夜精品久久久久久久99黑人| 国产成人精品999| 欧美一级片在线播放| 韩日欧美一区二区| 精品久久久久久久久久ntr影视| 国产网站欧美日韩免费精品在线观看| 国产suv精品一区二区三区88区| 911国产网站尤物在线观看| 欧美亚洲成人免费| 久久久久久av| 日韩av不卡电影| 日韩在线观看网址| 色综合老司机第九色激情| 国产精品福利无圣光在线一区| 91精品国产高清久久久久久| 成人女保姆的销魂服务| 8x海外华人永久免费日韩内陆视频| 亚洲精品美女久久久| 亚洲综合在线播放| 国外成人免费在线播放| 日韩av中文字幕在线免费观看| 国语自产精品视频在线看一大j8| 久久久国产视频| 国产成人精品国内自产拍免费看| 在线视频精品一| 国产精品香蕉在线观看| 久久久久久久成人| 中文字幕精品av| 欧美激情在线观看视频| 伦伦影院午夜日韩欧美限制| 国产精品高潮呻吟视频| 欧美性20hd另类| 欧美最猛性xxxxx(亚洲精品)| 亚洲国产精品女人久久久| 国产精品久久激情| 亚洲欧洲国产一区| 欧美高清无遮挡| 国产丝袜精品第一页| 欧美成年人视频| 亚洲第一区在线| 日韩最新av在线| 美日韩丰满少妇在线观看| 亚洲国产精品电影| 午夜免费在线观看精品视频| 国产成人精品一区| 国产伦精品一区二区三区精品视频| 精品性高朝久久久久久久| 欧美天天综合色影久久精品| 欧美午夜片在线免费观看| 国产成人精品一区二区三区| 久久精品青青大伊人av| 国产精品亚洲精品| 欧美在线视频一区二区| 成人在线免费观看视视频| 日韩av综合网| 亚洲最大av网| 国产精品视频xxxx| 久久精品国产亚洲7777| 日韩视频在线一区| 日韩的一区二区| 亚洲精品视频中文字幕| 国产香蕉精品视频一区二区三区| 精品在线小视频| 萌白酱国产一区二区| 亚洲美女黄色片| 久久久久久久av| 国产91在线高潮白浆在线观看| 久久久久久伊人| 欧美一级视频一区二区| 亚洲乱亚洲乱妇无码| 性色av一区二区三区在线观看| 亚洲精品乱码久久久久久金桔影视| 日韩电影中文字幕一区| 亚洲第一黄色网| 日韩欧美999| 欧美午夜精品在线| 国内精品久久久久久影视8| 国外色69视频在线观看| 国产精品一区二区久久久| 国产精品久久久久久av| 4438全国亚洲精品在线观看视频| 国产精品亚洲网站| 91精品国产91久久| 一区二区三区久久精品| 97视频人免费观看| 欧美夜福利tv在线| 亚洲专区国产精品| 91精品久久久久久久久不口人| 日韩成人在线视频| 国产精品久久久久久久久久ktv| 91网在线免费观看| 成人精品在线观看| 中文字幕亚洲欧美在线| 欧美亚洲日本网站| 欧美一区二粉嫩精品国产一线天| 一区二区亚洲精品国产| 国产999精品久久久影片官网| 欧美黑人性视频| xxxxx成人.com| 97视频在线观看成人| 欧美日韩成人在线播放| 久久久久久久久久久91| 国产亚洲欧美另类中文| 精品国产乱码久久久久久虫虫漫画| 亚洲综合最新在线| 欧美黄色片视频| 91精品啪aⅴ在线观看国产| 亚洲在线观看视频网站| 欧美xxxx做受欧美| 7m第一福利500精品视频| 国内精品久久影院| 亚洲国产日韩欧美在线图片| 国产精品久久久亚洲| 一区二区三区日韩在线| 在线视频日本亚洲性| 最近2019年中文视频免费在线观看| 国产精品99久久久久久人| 日韩暖暖在线视频| 中日韩美女免费视频网址在线观看| 久久久久久伊人| 中日韩美女免费视频网站在线观看| 8090理伦午夜在线电影| 91情侣偷在线精品国产| 精品国产福利在线| 欧美激情亚洲一区| 色播久久人人爽人人爽人人片视av| 日韩视频免费在线| 亚洲一二三在线| 久久久999成人| 51精品在线观看| 色综合视频一区中文字幕| 日韩高清电影好看的电视剧电影| 国产午夜一区二区| 91国产视频在线播放| 91免费人成网站在线观看18| 91影院在线免费观看视频| 精品国产老师黑色丝袜高跟鞋| 亚洲开心激情网| 国产在线拍偷自揄拍精品| 久久久人成影片一区二区三区观看| 国产欧美日韩视频| 亚洲男人天堂2023|