欢迎来到[自学php网] ①群 AG亚游集团

AG亚游集团 > php专栏 > php分页 >

php 远程分页类 - php分页

来源:自学PHP网 ?? 时间:2014-11-30 14:41?作者:

[导读] page_total_rows - 每页展示数量 默认值20$total_rows - 总计数据条目数$totpages - 总页数计算$pages_current - 当前页面利用url参数传递 当前页码 url参数名称 pages$style - 页码......

php 远程分页类

page_total_rows - 每页展示数量 默认值20

$total_rows - 总计数据条目数

$totpages - 总页数计算

$pages_current - 当前页面

利用url参数传递 当前页码 url参数名称 pages

$style - 页码展示样式可以通过外部访问样式属性进行修改

***********************使用方法**********************

调用该类:$pages = new pages;

调用该类后请修改数据集总条数

$pages->total_rows = $totrows;

$pages->main();方法将返回limit需要的2个参数 关联数组的a,b2个元素

$limit = $pages->main();

通过访问不同方法即可展示不同的功能!

PHP远程分页类实例代码如下:
  1. <?php 
  2. class pages{ 
  3. public $page_total_rows = 20;/每页展示数量 
  4. public $total_rows;/总计数据条目数 
  5. public $totpages;/总页数 
  6. public $current_url;/当前页面名称 
  7. private $ask/是否出现问号 
  8. public $style ='<style type="text/css教程"
  9. .pages_norename{width:50px; height:20px; float:left; background-color:#e3eff3; margin-right:5px; text-align:center; line-height:20px; border:1px solid #333333;} 
  10. .pages_norename a{display:block; width:50px; height:20px; color:#333333; text-decoration:none;} 
  11. .pages_norename a:hover{background-color:#ff9900; color:#ffffff;} 
  12. .pages_nore_more{width:auto; height:20px; float:left; margin-right:5px; line-height:20px; background-color:#e3eff3; border:1px solid #333333;} 
  13. .pages_nore_more a{display:block; width:20px; height:20px; color:#333333; text-decoration:none; text-align:center;} 
  14. .pages_nore_more a:hover{background-color:#ff9900; color:#ffffff;} 
  15. .pages_se{width:auto; height:20px; float:left;} 
  16. .pages_se select{margin:0px; padding:0px; font-family:arial, helvetica, sans-serif; font-size:12px;} 
  17. </style> 
  18. '; 
  19. /核心计算 并以数组的形式返回查询sql 语句的必须值 limit a,b; 
  20. function main(){ 
  21.   $this->totpages = ceil($this->total_rows/$this->page_total_rows);/总页数计算 
  22.   /获得当前页码------------------- 
  23.   if(!isset($_get['pages'])) 
  24.   { 
  25.   $this->pages_current = 1; 
  26.   }else 
  27.   { 
  28.    $this->pages_current = intval($_get['pages']); 
  29.    /判断页面不为0 
  30.    if($this->pages_current < 1){ 
  31.    $this->pages_current = 1; 
  32.    }/开源代码phpfensi.com 
  33.    /判断页面不能大于最大页码数量 
  34.    if($this->pages_current > $this->totpages){ 
  35.    $this->pages_current = $this->totpages; 
  36.    } 
  37.    /注销url 参数 pages 和 total_rows 为了更好的传递其他url参数 
  38.    if(isset($_get['pages'])){unset($_get['pages']);} 
  39.    if(isset($_get['total_rows'])){unset($_get['total_rows']);} 
  40.     
  41.   } 
  42.   /获得当前页码-------------------- 
  43.   $limit['a'] = $start = ($this->pages_current - 1)*$this->page_total_rows; 
  44.   $limit['b'] = $this->page_total_rows; 
  45.   /获得当前页面名称 
  46.   $urlin = explode('/',$_server['php教程_self']); 
  47.    
  48.   $tot_url = sizeof($urlin); 
  49.   $this->current_url =$urlin[$tot_url-1]; 
  50.   /获得当前页面传递的url 
  51.   if(sizeof($_get) > 0){ 
  52.    foreach($_get as $key=>$values){ 
  53.     $urlsget .= $key.'='.$values.'&'
  54.    } 
  55.    $this->current_url .= '?'.$urlsget
  56.    $this->ask = ''
  57.   }else{$this->ask = '?';} 
  58.   /输出样式 
  59.   echo $this->style; 
  60.   return $limit
  61. /展示分页 
  62. /1 第一页 
  63. function firstpage(){ 
  64.   echo '<div class="pages_norename"><a href="'.$this->current_url.'">首页</a></div>'
  65. /2 上一页 
  66. function prepage(){ 
  67.   echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->pages_current-1).'">上一页</a></div>'
  68. /3 下一页 
  69. function nextpage(){ 
  70.   echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->pages_current+1).'">下一页</a></div>'
  71. /4 最后一页 
  72. function  lastpage(){ 
  73.   echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->totpages).'">尾页</a></div>'
  74. /中间过渡页 
  75. function morepage(){ 
  76.   if($this->pages_current == 1){$newtj = $this->pages_current+9;} 
  77.   elseif($this->pages_current  == 2){$newtj = $this->pages_current+8;} 
  78.   elseif($this->pages_current == 3){$newtj = $this->pages_current+7;} 
  79.   else{$newtj = $this->pages_current+6;} 
  80.    for($i=$this->pages_current-3;$i<=$newtj;$i++){ 
  81.     if($i==$this->pages_current){$strong ='<strong>'$strong2 ='</strong>';}else{$strong='';$strong2='';} 
  82.     if($i >=1){echo '<div class="pages_nore_more"><a href="'.$this->current_url.$this->ask.'pages='.$i.'">'.$strong.$i.$strong2.'</a></div>';} 
  83.     if($i >= $this->totpages){ 
  84.     break
  85.     } 
  86.    } 
  87. /跳转页面 
  88. function changepage(){ 
  89.   echo '<div class="pages_se"><select name="dd">'
  90.   for($i=1;$i<=$this->totpages;$i++){ 
  91.   if($this->pages_current == $i){$selected = ' selected="selected"';}else{$selected = '';} 
  92.   echo '<option value="'.$i.'"'.$selected.'>第'.$i.'页</option>'
  93.   } 
  94.   echo '</select></div>'
  95. ?> 

该类可以自动识别 url 参数,避免了一般分页类丢失url参数问题,样式可以通过style属性进行修改,提供 首页 上一页 下一页 尾页 中间 过渡页 跳转菜单功能.

最新文章

点击排行

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有AG亚游集团

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

世锦赛-丁俊晖单杆124分后来居上 6-3领先肖国栋 亚洲赛马会议在首尔开幕!香港马会多名高管出席 这名副省长自掏腰包悬赏寻找爆料人 什么情况? 中国摔跤队亚运目标力争金牌 美女跤手剑指金牌 在美40年永久绿卡持有者被捕 移民机构被批太荒唐 卡纳瓦罗:下半场找回节奏 世界杯后呈现新的恒大 市民抓贼怕报复外衣罩小偷头致其死亡 属见义勇为 外交部:协商妥善解决问题最佳机会被美方一再错过 男子将12岁少女拖进消防通道:10分钟内第二次猥亵 专家谈网约车安全问题:考虑引进一键报警求助系统 印穆斯林男子遭私刑 警察到场后先吃茶点致其身亡 群雄纷争!2018中超迈进全新时代 3大悬念+6大变化
又1名中国留学生在英失联?驻英使馆:经查无此人 25中22!为什么詹姆斯身边总能冒出这样的惊喜 俄国防部:“匕首”导弹空中机动性强 可以攻击航母 昆明长颈鹿或被制成标本 一名饲养员救治中受伤 三部委发布国家通用手语常用词表和盲文方案 微信发暴力血腥视频 福建首例宣扬恐怖主义案宣判 金正恩会见韩国特使团成员 交换意见并达成共识 “手机百度”更名“百度” 百家号推百万年薪计划 剧本重演!上港丢球奥斯卡又闪扳平 上港暂2-2蔚山 德媒:在这四大前沿领域 中国将令欧美无法匹敌 女子左眼皮连跳8年迷信“左眼跳财”结果悲剧了 女子被误诊十年:肺部严重损害 康复治疗或伴余生
泰国向英国要求引渡英拉:否认出于政治目的 中国将为两个美洲建新桥 美废除网络中立倒计时:参议院大争论正式开启 一方将召开赛季前动员会 踩场将是全队首次合练 马竞官宣飞翼骨折赛季报销 西媒曝将无缘世界杯 代表建议:拟定生前预嘱规范 减轻患者痛苦和负担 都是瞎说!队友替少主澄清:他和球队内部没矛盾 专家谈中兴事件:对中国科技别吹上天莫贬入地 视频|说实话,你为什么会参加巴菲特股东大会? 2017做什么生意有前景 手机挂机软件一小时5元 适合女人做的生意 利润最高的不起眼行业 AG亚游集团