欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

分页类12

程序员文章站 2022-06-12 20:52:30
...
跳至
 /*分页类*/
  class DividePage//分页类
  {
    private $start;//起始位置
    private $size;//每页欲显示的条数
    private $list;//欲查询的数据库表	
	private $rows;//数据库表的总条数
	private $lastpage;//表的尾页
    function __construct($start,$size,$db_list)
	{
	   $this->start=$start;
	   $this->size=$size;
	   $this->db_list=$db_list;
	   if(!isset($_GET['count_rows']))//为了提高效率,计算条数只需要一次。
	   {
	      $Model=new Model();//实例化模型,使用原生SQL查询
	      $row=$Model->query('SELECT count(*) FROM Studentlist');
	      $this->rows=current(current($row));	 
		  $this->lastpage=$this->rows-($this->rows%$this->size);
       }	   
	}  
	function GetResult()//查询数据库,找出指定的返回结果
	{  
	   $Obj=D($this->db_list);//实例化模型
	   $sql=$this->start.",".$this->size;
	   $result=$Obj->limit($sql)->select();
	   return $result;
	}
	function GetOption()//返回一个数组,在模板里面遍历生成下拉列表
	{
	   return $this->size;
	}
	function GetRows()//获取表的总条数
	{
	   $Model=new Model();//实例化模型,使用原生SQL查询
	   $row=$Model->query('SELECT count(*) FROM Studentlist');
	   $this->rows=current(current($row));	  
	}
	//翻页的原则是
	function GetBackStart()//上一页
	{
	   if($this->start==0)
	      return $this->start;
	   else
	      return ($this->start)-($this->size);
	}
	function GetForwardStart()//下一页
	{
	   if($this->start==$this->lastpage)
	     return $this->start;
	   else
	     return ($this->start)+($this->size); 
	}
	function GetLastPage()
	{
	    return $this->lastpage;
	}
  }
  /*分页类END*/

相关标签: 分页类