adodb 自己有一个 pagequery函数的,自己在adodb的手册里面查查看.帮忙点击一下: http://www.qq6.com/?28566763   , thanks

解决方案 »

  1.   

    adodb要配合smaty用好像比较好,好像www.phpx.com有一个adodb的使用手册
      

  2.   

    你先看看 asp的分页函数吧,
      

  3.   

    用pear得slide类 很方便得
    pear.php.net
      

  4.   

    我贴我的,adodb+smarty的 . 天下代码一大抄,忘记是改谁的了
    <?php
    class Page
    {
        /*
         * 每页显示记录类
         * @var integer
         */
        var $psize                =  10;    /*
         * 页码偏移量
         * @var integer
         */
        var $pernum               =  5;    /*
         * 要传递的变量数组
         * @var string
         */
        var $varstr               =  '';    /*
         * 总页数
         * @var integer
         */
        var $tpage                =  0;    /* 
         * 记录组总数
         * @var integer
         */
        var $pers                 =  0;    /*
         * SQL server 分页支点
         * @var integer
         */
        var $sid                  = 0;    /*
         * 当前页码
         * @var integer
         */
        var $page                 = 0;    /* 
         * MySQL分页生成语句
         * @var string
         */
        var $limit                =  ''; var $page_stmt; //分页sql语句 var $list;  //数据数组
        /*
         * 取得传递变量精数组,并检测它是否为空
         * @return v
         */
        function get()
        {
            foreach($_GET as $k => $v) {
                $i++;
                $str          = ($i==1)      ? '?'            : '&';
                $this->varstr = ($k<>'page') ? $this->varstr.$str.$k.'='.$v : $this->varstr;
            }
            $this->varstr = $this->varstr ? $this->varstr.'&' : '?';
            $this->page   = $_GET['page'] ? $_GET['page'] : 1;        
            // 用于 SQL server 分页记录读取值 //

            $this->sid    = ($this->page-1)*$this->psize;        // 用于 MySQL 分页生成语句 //  
            $this->limit  = ($this->page -1)*$this->psize.','.$this->psize;
        }
        /*
         * 统计页码数
         */
        function total($number)
        {
            $this->tpage = ceil($number / $this->psize);
            $this->pers  = ceil($this->tpage / $this->pernum);
        }
          
    /*
     * 初始化,传入一个sql数值
     */ function Page($sql,$psize=10){
    $this->page_stmt = $sql;
    $this->psize = $psize;
    }    function JumpBar()
        {
    $number = $this->getRecordCounts();
            $this->get();
            $this->total($number);        $setpage   = $this->page ? ceil($this->page/$this->pernum) : 1;
            
            $pagenum   = ($this->tpage > $this->pernum) ? $this->pernum : $this->tpage;
            if ($number  <= $this->psize) {
                $text  = '只有一页';
            } else {
                $text = '共 ( '.$this->tpage.' 页 ) :&nbsp;&nbsp;&nbsp;';
                if ($this->page > 1) {
                    $text .= '<a title=第一页 href='.$this->varstr.'page=1>[1]</a>...';
                }
                if ($setpage > 1) {
                    $lastsetid = ($setpage-1)*$this->pernum;
                    $text .= '<a title=上一列 href='.$this->varstr.'page='.$lastsetid.'>[<<]</a>';
                }
                if ($this->page > 1) {
                    $pre = $this->page-1;
                    $text .= '<a title=上一页 href='.$this->varstr.'page='.$pre.'>[<]</a>';
                }
                $i = ($setpage-1)*$this->pernum;
                for($j=$i; $j<($i+$pagenum) && $j<$this->tpage; $j++) {
                    $newpage = $j+1;
                    if ($this->page == $j+1) {
                        $text .= '<b>['.($j+1).']</b>';
                    } else {
                        $text .= '<a href='.$this->varstr.'page='.$newpage.'>['.($j+1).']</a>';
                    }
                }            
                if ($this->page < $this->tpage){
                    $next = $this->page+1;
                    $text .= '<a title=下一页 href='.$this->varstr.'page='.$next.'>[>]</a>';
                }
                if ($setpage < $this->pers) {
                    $nextpre = $setpage*($this->pernum+1);
                    $text .= '<a title=下一列 href='.$this->varstr.'page='.$nextpre.'>[>>]</a>';
                }
                if ($this->page < $this->tpage) {
                    $text .= '...<a title=最后一页 href='.$this->varstr.'page='.$this->tpage.'>['.$this->tpage.']</a>';
                }
            }
            return $text;
        } function getRecordCounts(){
    global $conn;
    $res = $conn->Execute($this->page_stmt);
    if($res){
    return $res->recordCount();
    } else {
    return 0;
    }
    } function getData(){
    return array('JumpBar'=>$this->JumpBar(),
             'list'=>$this->setData());
    } function setData(){
    global $conn;
    $res = $conn->SelectLimit($this->page_stmt,$this->psize,$this->sid);
    $temp = array();
    while($res && !$res->EOF){
    array_push($temp,$res->fields);
    $res->MoveNext();
    }
    return $temp;
    }
    }
    ?>
      

  5.   

    用法
    function PageList(){
    global $conn,$smarty;
    if($this->pageList_stmt==""){
    $this->pageList_stmt = "SELECT * FROM {$this->tblName}";
    }
    $page = new Page($this->pageList_stmt,$this->pageSize);
    return $page->getData();
    }
    然后在显示就 {*xx.JumpBar*}
      

  6.   

    在你下载的adodb中就有手册的,另外adodb自己提供了分页的功能,
      

  7.   

    用这个方法
    $rs = $DB->PageExecute($sql_sel,$page_pre_rows,$curr_page);