频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> PHP教程 -> 我的一个php_mysql分页类

我的一个php_mysql分页类

作者:未知  来源:转载  发布时间:2005-7-21 10:29:36  发布人:acx

减小字体 增大字体

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<1)$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 = %s<br>\n", $Query_String);
      }

      if ($this->Error && $this->sqoe)
      echo "<BR><FONT color=red><B>".$this->Error["message"]."<BR>Query :\"$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>\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...<br>\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 < 0)  // 没有分页,不显示任何东西。
            return;
        
        if(!strrchr($url,"?"))
            $url = $url."?";
        else                            // url已经带了参数。
            $url = $url."&";
        
        $url = $url."rscnt=".$cnt."&page;=";
        
        if($page>1){
            ?>
<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>
        <?

    }
}

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 从VB 6.0到VB.NET的转换..
· PHP中操作MySQL数据库的..
· MOBI手机域名申请注册价..
· PHP生成静态页面详解
· 最佳ASP.NET编程习惯
· 在Flash MX中实现自由拖..
· Openbsd 3.6 + APACHE +..
· ImageReady2.0全面接触(..
· 聊天室技术-处理异常离线..
· ADO.NET实用技巧两则
· 雅虎推新版点唱机软件 整..
· 学用Fireworks中的特效 ..
· FW与DW结合使用细谈
· 周韶宁坦言Google目前不..
· W3 Jmail 简要介绍
· 无数据库日志文件恢复数..
相关文章
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号