喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [代码] 自己用的一个分页类  
 
轻舞飞扬 (七烨)
高级会员
Rank: 4



UID 94218
精华 0
积分 770
帖子 1456
金钱 770 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-20
来自 魔族(墨月)
状态 离线
[广告]: q m
自己用的一个分页类

自己一直用的一个分页类。发来看看。大家觉得怎么样?
<?php

        /*********************************************
        *类名:myDataGridClass
        *功能:分页显示数据库中的数据
        *********************************************/
        class myDataGridClass
        {
                //属性
                var $sql;                                //sql查询语句
                var $max_line;                        //每页显示的记录数
                var $begin_record;                //要显示记录的首行序号
                var $total_records;                //要显示的记录总数
                var $current_records;        //本页读取的记录数
                var $result;                        //存放读取出来的结果
                var $total_pages;                //总页数
                var $current_pages;                //当前页数
                var $arr_page_query;        //数组,包含分页显示需要的参数
               
                //方法
                /******************************************************
                *构造函数:myDataGridClass()
                *参数:$pmax_line,每页显示的最多行数
                ******************************************************/
                function myDataGridClass($pmax_line)
                {
                        $this->max_line=$pmax_line;
                        $this->begin_record=0;
                }

                function _get($property_name)
                {
                        if (isset($this->$property_name))
                        {
                                return $this->$property_name;
                        }
                        else
                        {
                                return null;
                        }
                }

                function _set($property_name,$value)
                {
                        $this->$property_name=$value;
                }

                /*****************************************************
                *函数名:read_data()
                *功能:根据SQL语句从数据库中读取记录
                *返回值:数组result[记录号][字段名]
                *****************************************************/
                function read_data()
                {
                        $psql=$this->$sql;

                        //查询数据库,数据库链接等信息在类外实现
                        $result=mysql_query($psql) or die (mysql_error());
                        $this->$total_records=mysql_num_rows($result);

                        //获取本页所要显示的记录数
                        if ($this->total_records>0)
                        {
                                $psql=$psql."limit".$this->begin_record.","$this->max_line;
                                $result=mysql_query($psql) or die (mysql_error());
                                $this->current_records=mysql_num_rows($result);

                                //将结果放在result数组中
                                $i=0;
                                while ($row=mysql_fetch_array($result))
                                {
                                        $this->result[$i]=$row;
                                        $i++;
                                }
                        }
                }
               
                /****************************************************
                *函数名:navigate()
                *功能:显示导航链接
                ****************************************************/
                function navigate()
                {
                        //获取总页数,当前页信息
                        $this->total_pages=$this->total_records%$this->max_line?$this->total_records/$this->max_line:$this->total_records/$this->max_line+1;
                        $this->current_page=$this->begin_record/$this->max_line+1;

                        echo "<div align=center>";
                        echo "<font color=red size='4'>第".$this->current_page."页/共".$this->total_pages."页</font>";
                        echo "    ";

                        //获取要导航到分页的初始记录号
                        $first=0;
                        $next=$this->begin_record+$this->max_line;
                        $prec=$this->begin_record_$this->max_line;
                        $last=($this->total_records-1)*$this->max_line;

                        //显示导航链接
                        if ($this->begin_record>=$this->max_line)
                                echo "<a href=".$SERVER['PHP_SELF']."?begin_record=".$frist.">首页</a>|";
                        if ($prec>=0)
                                echo "<a href=".$SERVER['PHP_SELF']."?begin_record=".$prec.">上一页</a>|";
                        if ($next<$this->total_records)
                                echo "<a href=".$SERVER['PHP_SELF']."?begin_record=".$next.">下一页</a>|";
                        if ($this->total_pages!=0 && $this->current_page < $this->total_pages)
                                echo "<a href=".$SERVER['PHP_SELF']."?begin_record=".$last.">末页</a>|";
                }
        }
?>
;P

[ 本帖最后由 fly512 于 2007-9-8 07:32 PM 编辑 ]




我轻轻地舞着,在拥挤的人群之中!
你投射过来异样的眼神.
诧异也好,欣赏也罢.
并不曾使我的舞步凌乱.
因为令我飞扬的,不是你注视的目光.
而是我年轻的心!
2007-9-8 07:11 PM#1
查看资料  发短消息  QQ  顶部
 
轻舞飞扬 (七烨)
高级会员
Rank: 4



UID 94218
精华 0
积分 770
帖子 1456
金钱 770 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-20
来自 魔族(墨月)
状态 离线
[推荐阅读] 服务器租用/服务器托管/山东网通、山东电信qq:809776687
晕出表情了。表情那里的代码是:$



我轻轻地舞着,在拥挤的人群之中!
你投射过来异样的眼神.
诧异也好,欣赏也罢.
并不曾使我的舞步凌乱.
因为令我飞扬的,不是你注视的目光.
而是我年轻的心!
2007-9-8 07:14 PM#2
查看资料  发短消息  QQ  顶部
 
奶瓶 (NP博士)
版主
Rank: 7Rank: 7Rank: 7
老仙


UID 52707
精华 4
积分 27777
帖子 6463
金钱 27727 喜悦币
威望 50
人脉 0
阅读权限 100
注册 2004-11-22
来自 北大中文系
状态 离线
[推荐阅读] 联接查询时,PHP如何取字段的值?
这么复杂的个东西,居然出现了汉字,这难以忍受啊~~

为啥不支持多语言呢,赫赫





图片包子,注册送100包子!
域名抢注
2007-9-8 11:57 PM#3
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  Yahoo!  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.026662 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP