两步走PHP分页代码
因为以前用ASP开发WEB应用,都说PHP不错,所以现在也转投PHP了。在ASP的时候分页都是自己写函数,所以现在用了PHP,一时难改ASP时候的习惯,在PHP分页的时候也写成了函数,大家能看到我这PHP函数中仍然有ASP的影子,呵呵。
一般情况下我都会把数据库读取做一个专用类,里面包括有对数据库的操作,包括分页等,这样用起来方便。主要的代码有两段:
一、读取数据库并转化为分页数组:代码如下:
<?php private function rs2array($sql='',$filename='',$pagesize=0){//生成二维数组 $autopage=false; if (!isset($sql))die("未设置语句!"); $str=array(); $result = $this->Open_Db($sql); $this->recordcount=$result->recordcount; if ((isset($filename)) && ($pagesize!=0)){//分页开始 $autopage=true; $FilesName = $filename; $result->pagesize=$pagesize; $page=$_GET['page']; if (($page!='') && (is_numeric($page))){ $epage = $page; if ($epage<1)$epage=1; if ($epage>$result->pagecount)$epage = $result->pagecount; }else{ $epage=1; } if(!$result->eof)$result->Absolutepage=$epage; $whileNum=$result->pagesize; } if(!isset($whileNum))$whileNum=$result->recordcount; for($i=1;$i<=$whileNum;$i++){ if($result->eof)break; for($n=0;$n<=($result->fields->count-1);$n++){ $str[$i-1][$result[$n]->name] = $result[$n]->value; } $result->movenext(); } if($autopage==true)$this->page = $this->Paging($filename,$result->pagecount,$epage); $result->close(); return $str; } ?>
二、供调用的分页代码:
<?php static private function Paging($FilesName,$PageCount,$page){ $PageStr=""; $topname='第一页'; $bottomname='最末页'; $overname='上一页'; $upname='下一页'; $p=$FilesName.'page='; if ($PageCount>1){ if ($page<=1){ $page=1; $PageStr='当前第 '.$page.' / '.$PageCount.' 页 ['.$topname.'] ['.$overname.'] <a href="'.$p.($page+1).'">['.$upname.']</a> <a href="'.$p.($PageCount).'">['.$bottomname.']</a>'; }else if($page>=$PageCount){ $page=$PageCount; $PageStr='当前第 '.$page.' / '. $PageCount . ' 页 <a href="'.$p.(1).'">['.$topname.']</a> <a href="'.$p.($page-1).'">['.$overname.']</a> ['.$upname.'] ['.$bottomname.']'; }else{ $PageStr='当前第 ' . $page . ' / '. $PageCount . ' 页 <a href="'.$p.(1).'">['.$topname.']</a> <a href="'.$p.($page-1).'">['.$overname.']</a> <a href="'.$p.($page+1).'">['.$upname.']</a> <a href="'.$p.($PageCount).'">['.$bottomname.']</a>'; } }else{ $PageCount=1; $page=1; $PageStr=('当前第 ' . $page) . ' / '. $PageCount . ' 页 ['.$topname.'] ['.$overname.'] ['.$upname.'] ['.$bottomname.']'; } return $PageStr; } ?>
我觉得这样在读取数据库的时候基本上不用担心分页会出什么问题,而且如果你多个网站栏目的话,分页都可以调用,非常方便。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法