免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1223 | 回复: 2
打印 上一主题 下一主题

分页显示Mysql数据库记录的类时的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-30 10:23 |只看该作者 |倒序浏览

  1. <?php
  2. /*********************************************
  3. 分页显示Mysql数据库记录的类

  4. 本类没有提供连接数据库的功能,所以需在外部打开相应的数据库。
  5. 本类也没有提供显示记录的功能,只是分页读取记录至 Result二维数组中。
  6. 需在外部自定义数据显示格式。
  7. ***********************************************/
  8. class TViewPage {

  9. var $Table; //表名
  10. var $MaxLine; //每页显示行数

  11. var $Offset; //记录偏移量
  12. var $Total; //记录总数
  13. var $Number; //本页读取的记录数
  14. var $Result; //读出的结果

  15. var $TPages; //总页数
  16. var $CPages; //当前页数

  17. var $Condition; //显示条件 如:where id='$id' order by id desc
  18. var $PageQuery; //分页显示要传递的参数


  19. //******构造函数*************
  20. //参数:表名、最大行数、偏移量

  21. function TViewPage($TB,$ML,$OF=0){
  22. $this->;Table=$TB;
  23. $this->;MaxLine=$ML;
  24. $this->;Offset=$OF;
  25. $this->;Condition="";
  26. }

  27. //********设置显示条件*********
  28. //如:where id='$id' order by id desc
  29. //要求是字串,符合SQL语法(本字串将加在SQL语句后)

  30. function SetCondition($s){
  31. $this->;Condition=$s;
  32. }

  33. //******设置传递参数************
  34. // key参数名 value参数值
  35. // 如:setpagequery("id",$id);如有多个参数要传递,可多次调用本函数。

  36. function SetPageQuery($key,$value){
  37. $tmp[key]=$key; $tmp[value]=$value;
  38. $this->;PageQuery[]=$tmp;
  39. }

  40. //********读取记录***************
  41. // 主要工作函数,根据所给的条件从表中读取相应的记录
  42. // 返回值是一个二维数组,Result[记录号][字段名]

  43. function ReadList() {
  44. $SQL="SELECT Count(*) AS total FROM ".$this->;Table." ".$this->;Condition;

  45. $result=mysql_query($SQL) or die(mysql_error());
  46. $row=mysql_fetch_Array($result);
  47. $this->;Total=$row[total];

  48. if($this->;Total>;0) { //根据条件 Condition
  49. $SQL="SELECT * FROM ".$this->;Table." ".$this->;Condition.
  50. " LIMIT ".$this->;Offset." , ".$this->;MaxLine;

  51. $result=mysql_query($SQL) or die(mysql_error());
  52. $this->;Number=mysql_num_rows($result);

  53. while($row=mysql_fetch_Array($result)) $this->;Result[]=$row;
  54. }
  55. return $this->;Result;
  56. }

  57. //**********显示页数*************
  58. //显示当前页及总页数

  59. function ThePage() {
  60. $this->;TPages=ceil($this->;Total/$this->;MaxLine);
  61. $this->;CPages=$this->;Offset/$this->;MaxLine+1;
  62. echo "第".$this->;CPages."页/共".$this->;TPages."页";
  63. }

  64. //**********显示翻页按钮*************
  65. //此函数要在ThePage()函数之后调用!!!
  66. //显示首页、下页、上页、未页,并加上要传递的参数

  67. function Page() {
  68. $first=0;
  69. $next=$this->;Offset+$this->;MaxLine;
  70. $prev=$this->;Offset-$this->;MaxLine;
  71. $last=($this->;TPages-1)*$this->;MaxLine;

  72. $k=count($this->;PageQuery);
  73. $strQuery=""; //生成一个要传递参数字串
  74. for($i=0;$i<$k;$i++){
  75. $strQuery.="&".$this->;PageQuery[$i][key]."=".$this->;PageQuery[$i][value];
  76. }

  77. if($this->;Offset>;=$this->;MaxLine)
  78. echo "<A href=$PHP_SELF?offset=".$first.$strQuery.">;首页</A>;|";
  79. if($prev>;=0)
  80. echo "<A href=$PHP_SELF?offset=".$prev.$strQuery.">;上一页</A>;|";
  81. if($next<$this->;Total)
  82. echo "<A href=$PHP_SELF?offset=".$next.$strQuery.">;下一页</A>;|";
  83. if($this->;TPages!=0 && $this->;CPages<$this->;TPages)
  84. echo "<A href=$PHP_SELF?offset=".$last.$strQuery.">;末页</A>;";
  85. }

  86. //******end class
  87. }

  88. ?>;
复制代码


这是我在网上找到的一个分页的类,在readlist方法中应该返回一个二位数组,但是好像不行,不知是这个class有问题,还是我引用有问题,不知道这个class该怎么引用啊,能不能帖个引用的方法来给看看

先谢了

论坛徽章:
0
2 [报告]
发表于 2004-05-31 04:24 |只看该作者

分页显示Mysql数据库记录的类时的一个问题

ReadList() 最后
while($row=mysql_fetch_Array($result)) $this->;Result[]=$row;
}
return $this->;Result;
}

这四行,看一下返回的这个成员Result是什么就行了

用这个类,
$ViewList = new TViewList(表名称,要返回行的数,偏移量);
然后就开始用吧,各个方法是干什么的注释已经写明白了

还有,什么在网上找的亚,这个不就是咱们论坛的某某写的吗。真是的。他咋不出来回答呢

论坛徽章:
0
3 [报告]
发表于 2004-05-31 08:28 |只看该作者

分页显示Mysql数据库记录的类时的一个问题

换个简单的函数试试,查清是什么地方的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP