您好,欢迎访问一九零五行业门户网

我的一个php_mysql分页类

mysql|分页
class rspage {
  var $debug    =  0;
  var $sqoe     =  1; // sqoe= show query on error
  var $link_id    = 0;
  var $record    = array();
  var $row;
  var $numrow;
  var $parse;
  var $error     = ;
  var $m_timefmt = yyyy-mm-dd hh24:mi:ss;
var $m_num=-1;
    var $m_sql;
    var $m_pagesize=10;
    var $m_cmt;
    var    $m_curpage=1;
    function open($db_link)
    {
        $this->link_id = $db_link;
    }
function query($query_string,$page=1,$cnt=-1,$size=10) {
      if($query_string==)
      {
          echo 执行语句不能为空!;
          return false;
      }
        if(!$page)
            $page = 1;
        if(!$cnt)
            $cnt = -1;
        $this->m_pagesize = $size;
if($this->parse){
          mysql_free_result($this->parse);
      }
if($cnt!=-1){
            $this->m_num = $cnt;
        }
        else{
            $result = mysql_query($query_string, $this->link_id);
            if(!$result){
                $this->error=mysql_error($this->link_id);
            }
            else{
                $this->m_num = mysql_num_rows($result);
            }
            /*
            $cntsql = select count(*) max_num from ($query_string);
            $maxnum = 0;
            $result = mysql_query($sqlstr,$this->link_id);
            $ret = mysql_fetch_array($result);
            mysql_free_result($result);
            if(!$ret) {
                $this->error=mysql_error($this->link_id);
            }
            else {
                $this->m_num = $ret[max_num];
            }
            */
}
        $pagecount = $this->getpagecount();
        $pagesize = $this->getpagesize();
        if($page>$pagecount)$page=$pagecount;
        if($page        $this->m_curpage=$page;
        $posbegin = ($page-1)*$pagesize;
        $posend = $posbegin + $pagesize;
        $query_string = $query_string limit $posbegin,$posend;
        $this->parse=mysql_query($query_string,$this->link_id);
if(!$this->parse) {
           $this->error=mysql_error($this->link_id);
      }
      $this->row=0;
if($this->debug) {
          printf(debug: query = %s
\n, $query_string);
      }
if ($this->error && $this->sqoe)
      echo
.$this->error[message].
query :\$query_string\;
      $numrow=mysql_num_rows($this->parse);
      return $this->parse;
  }
  function settimeformat($timestr){
    $this->m_timefmt = $timestr;
  }
  function next_record() {
      if(!($row = mysql_fetch_array($this->parse))) {
          mysql_free_result($this->parse);
          $this->parse = false;
          $stat=0;
      }
      else {
          while(list($key,$val)=each($row)) {
              $colreturn=strtolower($key);
              $this->record[ $colreturn ] = $val;
              if($this->debug) echo[$key]:.$val.
\n;
          }
          $stat=1;
      }
return $stat;
  }
function record_exist() {
    if(0 == mysql_num_rows($this->parse)) {
                return 0;
          } else {
                return 1;
      }
return $stat;
  }
function seek($pos) {
      $this->row=$pos;
  }
function affected_rows() {
    return mysql_affected_rows($this->parse);
  }
function num_rows() {
          return mysql_num_rows($this->parse);
  }
function f($name) {
    return $this->record[$name];
  }
function p($name) {
    print $this->record[$name];
  }
function close() {
      if($this->debug) {
          //printf(disconnecting...
\n);
      }
      if($this->parse){
          mysql_free_result($this->parse);
      }
      //mysql_close($this->link_id);
  }
//---public 得到当前页
    function getcurpage(){return $this->m_curpage;}
    //---public 设定页长
    function setpagesize($page_size){$this->m_pagesize = $page_size;}
    //---public 得到页长
    function getpagesize(){return $this->m_pagesize;}
    //---public 得到纪录总数
    function getcount(){return $this->m_num;}
    //---public 得到页总数
    function getpagecount(){
        $page=floor($this->getcount()/$this->getpagesize());
        if($this->getcount()%$this->getpagesize()>0)$page++;
        return $page;
    }
    // 显示导航条。
    // 参数说明: $url    调用页面ex:http://hello.php?showtype=main
    function show_navibar($recname=条记录,$first=首页,$pre=上页,$next=下页,$last=末页){
        $showurl = getenv(request_uri);
        $tmppos = strpos($showurl,&rscnt=);
        if(!$tmppos)
            $tmppos = strpos($showurl,?rscnt=);
        if($tmppos)
            $showurl = substr($showurl,0,$tmppos);
        $url = $showurl;
        $page = $this->getcurpage();
        $pagecnt = $this->getpagecount();
        $cnt = $this->getcount();
        if($cnt             return;
if(!strrchr($url,?))
            $url = $url.?;
        else                            // url已经带了参数。
            $url = $url.&;
$url = $url.rscnt=.$cnt.&page=;
if($page>1){
            ?>
=$first?> =$pre?>
}
        else{
            ?>
            =$first?> =$pre?>
}
if($page            ?>
=$next?> =$last?>
}
        else{
            ?>
            =$next?> =$last?>
}
        ?>
        共有 =$cnt?> =$recname?>,当前=$page?>/=$pagecnt?> 
        第页
}
}
其它类似信息

推荐信息