我的一个php

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<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>
        <?

    }
}

时间: 2024-10-29 20:21:44

我的一个php的相关文章

自己动手做一个SQL解释器

自己动手做一个SQL解释器在一些小型的应用中,完全没有必要使用大型数据库软件.自己做一个SQL解释器就能用数据库的方式来管理了.这个解释器,能解释常用的SQL命令.你可以自行添加其他功能. <?phpclass DB_text {  var $conn;  var $classname = "db_text";  var $database;  function on_create() {  }  function connect($database_name) {    $th

PS 15分钟快速绘制一个快播图标

  今天的教程@无梦不欢001 教大家绘制一个精美的快播图标,教程不难,主要是图层样式的运用,熟练的话15分钟就可以搞定.源文件已附上方便学习,来收! 分类: PS入门教程 ps图标制作教程

PS绘制一个太空中发光的行星教程

photoshop教程中我将为大家介绍如何轻松地使用photoshop中的云彩滤镜和扭曲滤镜制作一颗炫酷的行星.最终效果如图所示 1.创建一个新图片,大小为940*700,背景填充黑色,新建一个图层,使用套索工具(羽化50px)绘制一个椭圆选区,然后执行"滤镜-渲染-云彩",如图所示 2.按下Ctrl+L打开色阶调整框,应用下图所示的设置. 3.执行"滤镜-扭曲-旋转扭曲",如图所示 photoshop教程 4.设置角度为999,如图所示 分类: PS入门教程

PS制作一个超酷的气功冲击波效果教程

photoshop教程主要为大家介绍使用photoshop的烟幕笔刷制作一个气势磅礴的气功波.制作过程比较复杂,主要是烟雾形状的调整和虎头的烟雾效果调整,要按照虎头的形状变形烟雾. 最终效果 1.在Photoshop中创建一个新文件.我使用的屏幕分辨率为1920 × 1200,用灰色(#b8b8b8)填充画布. 2.创建一个新层,填充黑色.确保前景色和背景色分别为白色和黑色,去滤镜>渲染>云. 我的目标是把这些云彩变成漂亮的线性效果.因此去滤镜>模糊>动感模糊,距离999px,角度

注册表 应用程序路径-注册表操作:通过注册表来获取到一个应用程序的安装路径~!~!~!~!~!~!~!~!~!

问题描述 注册表操作:通过注册表来获取到一个应用程序的安装路径~!~!~!~!~!~!~!~!~! 10C C币快没有了,希望大神看到不要嫌弃赏金!!!!!!不吝赐教.... 解决方案 HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversionuninstall软件名,如果有,一般在这个里面 解决方案二: 你能找到某个软件的注册表 逐个点开 后面 '数据'那一列里面会有路径显示 解决方案三: 一个操作注册表的类 解决方案四: 操作?还是程序控

sql2008-求一个C# SQL做的旅游信息管理系统,不要网页的那种。

问题描述 求一个C# SQL做的旅游信息管理系统,不要网页的那种. 实现简单的景点查询,添加 删除:景点的介绍,修改,以及 管理员及用户个人信息的注册等. 解决方案 http://download.csdn.net/detail/vaeigffsgdfgfdfs/5646183 解决方案二: http://download.csdn.net/detail/wangyindiwyd/3621599 解决方案三: http://download.csdn.net/download/u01049142

分享一个HP EVA4400/6400/8400/P6000通用的数据恢复方法

[引言] 本文档建立在针对HP EVA的大量测试性研究基础上,所有的细节几乎均为对EVA的破译型研究,目前全球范围内尚未发现类似资料,故可能表述方式和结论并不精确,仅为参考之用. 我们公司为研究HP EVA系列算法,花费了大量的人力物力,目前应为全国唯一的研究此项技术的公司,转载请注明来源. [前因] HP EVA4400/6400/8400因接近退役,已进入高故障区间,用户往往会认为花费几十万甚至上百万购买的eva系列应该是非常稳定的,但实际上无论多么昂贵的存储设备,使用的磁盘是相同或相似的.

sql-数据库视图里要创建一个计算的字段,如何避免被除数为零

问题描述 数据库视图里要创建一个计算的字段,如何避免被除数为零 数据库视图里要创建一个字段,是个除法,但被除数可能为零,我按照网上讲的CASE WHEN方法改了之后,总提示我表达式无效或缺少,我贴出来我的代码 ROUND(CASE WHEN V_RECOMMAND_CANDIDATE.vote_total > 0 THEN ((CAST(RECOMMAND_CANDIDATE_1.vote_agree AS FLOAT) / V_RECOMMAND_CANDIDATE.vote_total *

一个类如何实现两个接口中同名同参数不同返回值的函数

假设有如下两个接口: public interface IA{    string GetA(string a);}public interface IB{    int GetA(string a);} 他们都要求实现方法GetA,而且传入的参数都是一样的String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口: public class X:IA,IB 由于接口中要求的方法的方法名和参数是一样的,所以不可能通过重载的方式来解决,那么我们该

ASP中一个字符串处理类(VBScript)

vbscript|字符串 这个类是用于处理字符串的,是老外写的,我把里面的功能和参数加了说明 使用方法: =============== test.asp================ <!--#include file="StringOperations.asp"--> <%dim strset str = New StringOperations test = str.toCharArray("check this out") respons