odbc|分页
class Pages{
var $cn; //连接数据库游标
var $d; //连接数据表的游标
var $result; //结果
var $dsn; //dsn源
var $user; //用户名
var $pass; //密码
var $total; //记录总数
var $pages; //总页数
var $onepage; //每页条数
var $page; //当前页
var $fre; //上一页
var $net; //下一页
var $i; //控制每页显示
##############################
######## 连接数据库 ##########
function getConnect($dsn,$user,$pass){
$this->cn=@odbc_connect($dsn,$user,$pass);
if(!$this->cn){
$error="连接数据库出错";
$this->getMess($error);
}
}
##############################
######## 进行表的查询 #########
function getDo($sql){ //从表中查询数据
$this->d=@odbc_do($this->cn,$sql);
if(!$this->d){
$error="查询时发生了小错误......";
$this->getMess($error);
}
return $this->d;
}
#################################
######## 求表中数据的总量 #########
function getTotal($sql){
$this->sql=$sql;
$dT=$this->getDo($this->sql); //求总数的游标
$this->total=odbc_result($dT,"total"); //这里为何不能$this->d,total 为一个字段
// $this->total=@odbc_num_rows($dT); //应唠叨老大的意见,odbc_num_rows 不能用,不知为何,返回为-1
return $this->total;
}
##############################
######## 进行表的查询 #########
function getList($sql,$onepage,$page){
if ($page"" and $page $page=1;
$this->s=$sql;
$this->onepage=$onepage; //每页显示的记录数
$this->page=$page; //页数
$this->dList=$this->getDo($this->s); //连接表的游标
$this->pages=ceil($this->total/$this->onepage); //计算大于指定数的最小整数
if ($this->page>$this->pages) //当此页大于最大页的处理
$this->page=$this->pages;
if($this->pages==0)
$this->pages++; //不能取到第0页
if(!isset($this->page))
$this->page=1;
$this->fre = $this->page-1; //将显示的页数
$this->nxt = $this->page+1;
$this->nums=($this->page-1)*$this->onepage;
return $this->dList;
}
##############################
function getfetch_row($dList){
return odbc_fetch_row($dList);
}
##############################
function getresult($dList,$num){
return odbc_result($dList,$num);
}
##############################
######## 翻页 ################
function getFanye(){
$str="";
if($this->page!=1)
$str.="
ID | 标题 | 日期 |
".($pg->nums+$i)." | ".substr($pg->getresult($pg->dList,4),1,10)." |