class
pages
{
var $sum;//数据库中的记录数
var $p;//当前页码
var $total;//共有多少页
var $pagesize;//每页的记录数
var $pageflay;//每页显示10个页码数
var $db; //数据库对象
var $pagenav;//所要用的1 2 3 4 5 ...
var $smarty;//smarty
function pages($smarty, $db, $pagesize=20, $pageflay=10)
{//构造函数
$this->smarty=$smarty;
$this->db=$db;
$this->pagesize=$pagesize;//设置每页显示条数
$this->pageflay=$pageflay;//设置下表页码个数
$sql = "SELECT * FROM tablename";
$this->db->execute_sql($sql);
$this->sum=$this->db->m_count;//得到行数
if($this->sum % $this->pagesize == 0)//计算总页数,正好整除
{
$this->total=(int)( $this->sum/$this->pagesize );
}
else//计算总页数,非整除情况
{
$this->total=(int)( $this->sum/$this->pagesize )+1;
}
}
function page_goto()
{//得到当前页
if(isset($_GET['page']))//如果当前页不为空
{
$this->p=(int)$_GET['page'];
}
else//缺省为第一页
{
$this->p=1;
}
$start=$this->pagesize*($this->p-1);//开始的记录
$this->pagenav="";
$beginpage=floor(($this->p-1)/$this->pageflay)*$this->pageflay+1;
$endpage=$beginpage+$this->pageflay;
$prepage=$beginpage-$this->pageflay;
if($beginpage>1) $this->pagenav.= "<a href='?page=".$prepage."'>... </a>";
for($i=$beginpage;$i<$endpage;$i++)
{
if($i>$this->total) break;
if($i==$this->p)
$this->pagenav.="<font color='red'>{$i}</font> ";
else
{
$this->pagenav.= "<a href='?page={$i}'>$i</a> ";
}
}
if($endpage <= $this->total) $this->pagenav.= "<a href='?page=$endpage'>... </a>";
$this->i=($this->p-1)*$this->pagesize+1;
$sql="SELECT * FROM tablename LIMIT $this->pagesize OFFSET $start";
$this->table=$this->db->execute_sql($sql,TABLE);
}
}
{
var $sum;//数据库中的记录数
var $p;//当前页码
var $total;//共有多少页
var $pagesize;//每页的记录数
var $pageflay;//每页显示10个页码数
var $db; //数据库对象
var $pagenav;//所要用的1 2 3 4 5 ...
var $smarty;//smarty
function pages($smarty, $db, $pagesize=20, $pageflay=10)
{//构造函数
$this->smarty=$smarty;
$this->db=$db;
$this->pagesize=$pagesize;//设置每页显示条数
$this->pageflay=$pageflay;//设置下表页码个数
$sql = "SELECT * FROM tablename";
$this->db->execute_sql($sql);
$this->sum=$this->db->m_count;//得到行数
if($this->sum % $this->pagesize == 0)//计算总页数,正好整除
{
$this->total=(int)( $this->sum/$this->pagesize );
}
else//计算总页数,非整除情况
{
$this->total=(int)( $this->sum/$this->pagesize )+1;
}
}
function page_goto()
{//得到当前页
if(isset($_GET['page']))//如果当前页不为空
{
$this->p=(int)$_GET['page'];
}
else//缺省为第一页
{
$this->p=1;
}
$start=$this->pagesize*($this->p-1);//开始的记录
$this->pagenav="";
$beginpage=floor(($this->p-1)/$this->pageflay)*$this->pageflay+1;
$endpage=$beginpage+$this->pageflay;
$prepage=$beginpage-$this->pageflay;
if($beginpage>1) $this->pagenav.= "<a href='?page=".$prepage."'>... </a>";
for($i=$beginpage;$i<$endpage;$i++)
{
if($i>$this->total) break;
if($i==$this->p)
$this->pagenav.="<font color='red'>{$i}</font> ";
else
{
$this->pagenav.= "<a href='?page={$i}'>$i</a> ";
}
}
if($endpage <= $this->total) $this->pagenav.= "<a href='?page=$endpage'>... </a>";
$this->i=($this->p-1)*$this->pagesize+1;
$sql="SELECT * FROM tablename LIMIT $this->pagesize OFFSET $start";
$this->table=$this->db->execute_sql($sql,TABLE);
}
}