类别:PHP教程 / 日期:2019-12-01 / 浏览:185 / 评论:0

平常情况下我都会把数据库读取做一个专用类,内里包含有对数据库的操纵,包含分页等,如许用起来轻易。重要的代码有两段:

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

代码以下:

<?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相干题目请接见ki4网:https://www.ki4.cn/

以上就是两步疾速完成PHP分页功用,轻易有用的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章