<!--二泉.net -->
<?
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呢?
return $this->total;
}
function getlist($sql,$onepage,$page){
$this->s=$sql;
$this->onepage=$onepage;
$this->page=$page;
$this->dlist=$this->getdo($this->s); //连接表的游标
$this->pages=ceil($this->total/$this->onepage);
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;
//if($this->nums!=0){
// for($this->i=0;$this->i<$pg->getnums();odbc_fetch_row($this->dd),$this->i++);//同上
//}
//$this->i=0;//为何这部分不能封装?
return $this->dlist;
}
function getfanye(){
$str="";
if($this->page!=1)
$str.="<a href=".$php_self."?page=1> 首页 </a><a href=".$php_self."?page=".$this->fre."> 前页 </a>";
else
$str.="<font color=999999>首页 前页</font>";
if($this->page<$this->pages)
$str.="<a href=".$php_self."?page=".$this->nxt."> 后页 </a>";
else
$str.="<font color=999999> 后页 </font>";
if($this->page!=$this->pages)
$str.="<a href=".$php_self."?page=".$this->pages."> 尾页 </a>";
else
$str.="<font color=999999> 尾页 </font>";
$str.="共".$this->pages."页";
$str.="您正浏览第<font color=red>".$this->page."</font>页";
return $str;
}
function getnums(){
return $this->nums;
}
function getonepage(){//每页实际条数
return $this->onepage;
}
function geti(){
return $this->i;
}
function getpage(){
return $this->page;
}
function getmess($error){//定制消息
echo"<center>$error</center>";
exit;
}
}
$pg=new pages();
$pg->getconnect("lei","sa","star");
$pg->gettotal("select count(*) as total from xs"); //连学生表求总数
$pg->getlist("select xs_name from xs order by xs_id",8,$page);
if($pg->getnums()!=0){
for($i=0;$i<$pg->getnums();odbc_fetch_row($pg->dlist),$i++);//同上
}
$i=0;
while(odbc_fetch_row($pg->dlist)){
$name=odbc_result($pg->dlist,"xs_name");
echo $name."<br>";
if($i==$pg->getonepage()){//跳出循环
break;
}
$i++;
}
echo$pg->getfanye();
?>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器