我的一个php_mysql分页类

2016-02-19 14:08 8 1 收藏

下面图老师小编跟大家分享一个简单易学的我的一个php_mysql分页类教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - 编程语言 】

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;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

      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 {
        &

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

MySQL教程是:我的一个php_mysql分页类。nbsp;       $this-m_num = $ret["max_num"];
            }
            */
           
        }
        $pageCount = $this-getPageCount();
        $pageSize = $this-getPageSize();
        if($page$pageCount)$page=$pageCount;
        if($page1)$page=1;
        $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 = %sbr", $Query_String);
      }

      if ($this-Error && $this-sqoe)
      echo "BRFONT color=redB".$this-Error["message"]."BRQuery :"$Query_String"/B/FONT";
      $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"b[$key]/b:".$val."br";
          }
          $stat=1;
      }

    return $stat;
  }
 
  function record_exist() {
    if(0 == mysql_num_rows($this-Parse)) {
                return 0;
          } else {
                return 1;
      }

  return $stat;
  }

  function seek($pos)

MySQL教程是:我的一个php_mysql分页类。 {
      $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...br");
      }
      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 0)  // 没有分页,不显示任何东西。
            return;

        if(!strrchr($url,"?"))
            $url = $url."?";
        else                            // url已经带了参数。
            $url = $url."&";
       
        $url = $url."rscn


MySQL教程是:我的一个php_mysql分页类。t=".$cnt."&page=";
       
        if($page1){
            ?
a href=?echo $url?1?=$first?/a a href=?echo $url.($page-1)??=$pre?/a
            ?
        }
        else{
            ?
            ?=$first? ?=$pre?
            ?
        }
       
        if($page$pagecnt){
            ?
a href=?echo $url.($page+1)??=$next?/a a href=?echo $url.$pagecnt??=$last?/a
            ?
        }
        else{
            ?
            ?=$next? ?=$last?
            ?
        }
        ?
        共有 font color="#FF0000"?=$cnt?/font ?=$recname?,当前?=$page?/?=$pagecnt? 
        第input type=text style="width: 20px; height: 16px; font-size: 12px; color: #000000;border: 1px solid;" name=page value=?=$page?页
        input type=button onclick="ice_ttttt_runto(''?=$url?'')" style="height: 16px; font-size: 12px; color: #000000;border: 1px solid;" value="Go!"
        script language=javascript
            !--
        function ice_ttttt_runto(url){
            var p = self.page.value;
            self.navigate(url+p);
        }
            --/script
        ?

    }
}

来源:http://www.tulaoshi.com/n/20160219/1606266.html

延伸阅读
标签: ASP
 从开始学习到使用ASP到现在也写了不少程序了,最令人头痛的是写数据分页,每次都是由于几个变量名或几个参数的不同,因而需要每次都写哪一段冗长而又繁杂的分页代码,代码长了使得程序的可读性变差,容易出差,调试半天也找不出错在哪里,所以慢慢的我开始使用一些网上的提供的分页函数或分页类。的确省事不少,但是通常的函数和类的做法...
标签: PHP
  <!--二泉.net -- <? class Pages{     var $cn;        //连接数据库游标     var $d;            //连接数据表的游标     var $result;   &...
标签: Web开发
从开始学习到使用ASP到现在也写了不少程序了,最令人头痛的是写数据分页,每次都是由于几个变量名或几个参数的不同,因而需要每次都写哪一段冗长而又繁杂的分页代码,代码长了使得程序的可读性变差,容易出差,调试半天也找不出错在哪里,所以慢慢的我开始使用一些网上的提供的分页函数或分页类。的确省事不少,但是通常的函数和类的做法都是就...
标签: ASP
我们继续接上期 在页面里通过调用ShowPage()的方法显示出来,ShowPage可以在GetRS以后的任意位置调用,也可以调用多次 Public Sub ShowPage() Dim str_tmp int_totalRecord=XD_RS.RecordCount If int_totalRecord<=0 Then   str_error=str_error & "总记录数为零,请输入数据"   Call ShowError() End If If int_totalRec...
标签: PHP
       <?php   /*   如有转载,请注明作者      作者: 何志强   文件: ubb.php   备注: 说是改进,其实核心函数parse()已经完全重写了,而且思路也是不一样的。   不过仍是受何志强的例子的启发,而且测试的例子还有URLCHECK等...

经验教程

721

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部