mysql怎么查看总页数 mysql如何显示查询结果总数?( 二 )


}
/**
* 设置当前页 , 从1开始
*
* @param unknown_type $currentpage
*/
function setcurrentpage($currentpage)
{
$this-current_page=$currentpage1? 1:$currentpage;
}
function getcurrentpage()
{
return $this-current_page;
}
function setbeginline($begin)
{
$this-begin_record=$begin;
}
function getbeginline()
{
return $this-begin_record;
}
function setsql($sql)
{
$this-sql=$sql;
}
function getsql()
{
return $this-sql;
}
/**
* 设置最大记录数
* @param unknown_type $maxline
*/
function setmaxline($maxline)
{
$this-max_line=$maxline;
}
function getmaxline()
{
return $this-max_line;
}
//属性设置结束
function __construct()
{//连接数据库
$this-setbeginline(0);
$this-setmaxline(10);
}
function __destruct()
{
}
//方法开始
/**
* 主体函数,查询当前页的记录,同时返回信息
* @param string $sql:查询的SQL,如select * from table1;
* @param string $countsql:总数量的SQL , 如select count(*) from table1;
* @return 当前页的记录
*/
function getrecords($db,$sql)
{
$this-setsql($sql);//设置查询的SQL
$this-setcountsql($sql);//设置查询总数量的SQL
//查询总记录数,可用gettotalrecord()方法返回总记录数
$db-query($this-getcountsql());
$db-seek(0);
//返总记录数
$this-settotalrecord($db-f(0));
$db-free();
//根据当前页和每页最大记录数计算开始和结束记录
//可用getbeginline()方法查询开始记录值 , 即limit的开始值
//可用getmaxline()方法查询每页记录数,即limit的第二个限制值
$this-setbeginline(($this-getcurrentpage()-1)*$this-getmaxline());//设置开始记录值,即limit的开始值
//计算结束
//计算总页数
//可用gettotalpage()查询总页数
$this-settotalpage((int)(($this-gettotalrecord()+$this-getmaxline()-1)/$this-getmaxline()));//(总记录数+每页记录数-1)/每页记录数
//计算结束
//返回当前记录
$temp_sql=$this-getsql()." limit ".$this-getbeginline().",".$this-getmaxline();//构造限制的SQL语句
$db-query($temp_sql);
$result=$db-getalldata();
return $result;
//结束
}
function paint()
{
$prepg=$this-getcurrentpage()=1? 1:$this-getcurrentpage()-1;//上一页
$nextpg=$this-getcurrentpage()=$this-gettotalpage()? $this-gettotalpage():$this-getcurrentpage()+1;//下一页
$otherparam=$this-getparam()!=""? "".$this-getparam():"";
$pagenav="tabletr";
if($this-getcurrentpage()==1)
{//第一页
$pagenav.="td nowrap='nowrap' style='font-size: 12px'a disabled='disabled'首页/a/tdtd nowrap='nowrap' style='font-size: 12px' /td";
}
else
{
$pagenav.="td nowrap='nowrap' style='font-size: 12px'a href='".$this-geturl()."?".$this-getpageparam()."=1$otherparam'首页/a/tdtd nowrap='nowrap' style='font-size: 12px' /td";
}
if($this-getcurrentpage()1)
{//有上一页
$pagenav.="td nowrap='nowrap' style='font-size: 12px'a href='".$this-geturl()."?".$this-getpageparam()."=$prepg$otherparam'上一页/a/td";
}
else
{//第一页
$pagenav.="td nowrap='nowrap' style='font-size: 12px'a disabled='disabled'上一页/a/td";
}
if($this-getcurrentpage()$this-gettotalpage())
{//有下一页
$pagenav.="td nowrap='nowrap' style='font-size: 12px' a href='".$this-geturl()."?".$this-getpageparam()."=$nextpg$otherparam'下一页/a/td";
}
else
{
$pagenav.="td nowrap='nowrap' style='font-size: 12px' a disabled='disabled'下一页/a/td";

推荐阅读