两步快速实现PHP分页功能,方便实用

互联网 19-8-21
一般情况下我都会把数据库读取做一个专用类,里面包括有对数据库的操作,包括分页等,这样用起来方便。主要的代码有两段:

一、读取数据库并转化为分页数组

代码如下:

<?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;             }     ?>

我觉得这样在读取数据库的时候基本上不用担心分页会出什么问题,而且如果你多个网站栏目的话,分页都可以调用,非常方便。

以上代码不足之处还请指出,谢谢!

更过PHP相关问题请访问PHP中文网:https://www.php.cn/

以上就是两步快速实现PHP分页功能,方便实用的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 分页
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:使用PHP生成带有干扰线的验证码,干扰点、字符倾斜详细类代码

相关资讯