php-et 分页的类写好了 不指定

Else , 2008/06/23 22:21 , 代码片段,演示也有 , Comments(1) , Reads(1628) , Via Original
  public function et_list($sql,$alst,$title_len=0)  
  {  
    global $db;  
    $query = $db->query($sql,$alst);  
    $arr = array();    //定义数组  
    while($qs = $db->fetch_array($query))  
    {  
    
    if ($title_len!=0)
    {
      $qs['title']=$this->msubstr($qs['title'],0,$title_len);
    }
    
    $arr[] = $qs;  
    }  
    return  $arr;  
  }
  
  
  public function et_page($sqlstr,$pagelist,$type='')  
  {  
      global $db;
     $page=1;  //起始的记录
    if (isset($_GET['page'])) {
        $page = $_GET['page'];
    }
    //算总的记录
    if (isset($_GET['total'])) {
      $total = $_GET['total'];
    } else {
      $all_rs = $db->query($sqlstr);
      $total= $db->num_rows($all_rs);    //总得记录
    }
    $totalPages=ceil($total/$pagelist);    //总的页数
    //分页大于或小于当前的数页
    $page= (1>$page || $page>$totalPages) ? $totalPages : $page;
    
    $startpage = ($page-1) * $pagelist;    //分页的操作
    $sql=sprintf("%s LIMIT %d, %d",$sqlstr,$startpage,$pagelist);   //分页处理
    $query = $db->query($sql);
    $arr = array();    //定义数组
    while($qs = $db->fetch_array($query))
    {
      
      switch($type)
      {
        case '':
          $qs['content']  = $this->msubstr( strip_tags($qs['content']),0,160);
        break;
        
        case "book":
          $qs['datetime'] = $this->getYearMonthDay($qs['datetime'],"-");
          $qs['content'] = nl2br($qs['content']);
          $qs['recont'] = nl2br($qs['recont']);
        break;
        
      }
      
      $arr[] = $qs;
    }  
    //得到分页信息
    $pagestr=$_SERVER['PHP_SELF']."?id=".$_GET['id']."&page=";
    $this->pageinfo = sprintf("共%d条记录  共%d页 每页显示%d条 <a href=%s>首页</a> <a href=%s>上一页
                        </a> <a href=%s>下一页</a> <a href=%s>末页</a>",
                        $total,
                        $totalPages,
                        $pagelist,
                        $pagestr."1",
                        $pagestr.max(--$page,1),
                        $pagestr.min($totalPages,++$page + 1),
                        $pagestr.$totalPages);  
    
    return  $arr;  
  }
Else Email Homepage
2008/06/24 04:36
在php4下不能用public 我在中资源的服务器上不能用,他的是我目前见过最低的版本4.3.9
所以要用var
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

Site URI

Email

Enable HTML Enable UBB Enable Emots Hidden Remember [Login] [Register]