PHP分页设计
admin
2023-06-28 06:04:39
0次

一、分页类设计Page.php


class Page {

public $pageSize=6;//每页显示记录数

public $rowCount;//记录总数数

public $pageNow=1;  //当前页

public $pageCount=1;  //总页数

public $navigate;   //导航

public $url;    //地址

public $firstRow;  //每页显示的第一条记录

public $rollPage;  //分栏每页显示页数

public $startNum;   //【1】

public $endNum;


public function setNav(){

$navigate="";

 //本导航的起始页

if($this->startNum>1){

$jump=$this->startNum-$this->rollPage;

//$nav=$this->url."/pageNow/$jump";

$navigate.= "<<  ";

}

for($start=$this->startNum;$start<=$this->endNum;$start++)

{

$navigate.="[{$start}]";

}

if($this->endNum<$this->pageCount)

{

$jump=$this->startNum+$this->rollPage;

$navigate.= ">>  ";

}

$navigate.="第".$this->pageNow."页/共".$this->pageCount."页";

$this->navigate=$navigate;

}


public function setPage($url,$pageNow,$rollPage=4,$pageSize=6,){

$this->url=$url;

$this->pageNow=$pageNow;

$this->pageSize=$pageSize;

$this->rollPage=$rollPage;
}


public function setNavigate(){

$this->pageCount=ceil($this->rowCount/($this->pageSize+0.0));

$this->firstRow=($this->pageNow-1)*$this->pageSize;


$this->startNum=floor(($this->pageNow-1)/$this->rollPage)*$this->rollPage+1;

$this->endNum=$this->startNum+$this->rollPage-1;

if($this->endNum>$this->pageCount)

{

$this->endNum=$this->pageCount;

}

if($this->rowCount==0){

$this->pageNow=1;

$this->rollPage=1;

$this->firstRow=1;

$this->pageCount=1;

}

$this->setNav();  //字符串存储导航

}

}


?>


二、SqlHelper.class.php定义分页显示方法

public function excute_dql_page($sql1,$sql2,&$page){

//数据表信息分页

//sql1数据,sql2求行数

$result=mysql_query($sql1,$this->conn)or die(mysql_errno());

$arr=array();

while($row=mysql_fetch_assoc($result)){

$arr[]=$row;

}

mysql_free_result($result);

$result=mysql_query($sql2,$this->conn) or die(mysql_errno());

if($row=mysql_fetch_row($result)){

$page->rowCount=$row[0];

//实现导航条

$page->setNavigate();

}

mysql_free_result($result);


//数组存储记录集

return $arr;

}

三、UserService.class.php调用分页

     require_once 'SQLHelper.class.php';
     require_once 'User.class.php';
 
    class UserService{
      
        public function getUserListByPage(&$page){

            $sqlHelper=new SQLHelper();
            $startNum=($page->pageNow-1)*$page->pageSize;
            $sql1="select id,name from users limit $startNum,$page->pageSize";
            $sql2="select count(*) from users";
            $res=$sqlHelper->excute_dql_page($sql1, $sql2, $page);
                
            $sqlHelper->close_connect();
            
        }
    }


四、使用分页(userList.php)

header("content-type:text/html;charset=utf-8");

require_once 'SQLHelper.class.php';

require_once 'UserService.class.php';



echo"用户信息表
";

echo"

";


//创建page并设置属性值



$page=new Page();

$page->url="userList.php";

$page->pageNow=1;

        

if(isset($_GET['pageNow'])){

$page->pageNow=$_GET['pageNow'];

}

//创建Service负责产生一个记录集(分页后的)

 $page->setPage($url,$pageNow);

$userService=new UserService();

$userService->getUserListByPage($fenyePage);


 

 foreach ($page->res_array as $row){

 $id=$row['id'];

 echo"

";

 //print_r($row['id']);

 

 }

 echo"

idname删除修改
{$row['id']}{$row['name']}删除修改
";

 

 echo $fenyePage->navigate;

 

?>

 

到第 页

 



相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...