个粉丝

问答

专栏

资料

 发布于  2008-05-25 11:19:02
采纳率 0%
128个问答
5913

php翻页代码 用类实现

     
PHP分页类
class page
{
    var $count;                 //总记录
        var $cur_page;                //当前页面
        var $sql;                        //数据库语句
        var $conn;                        //数据库连接串
        var $page_size;                //首页显示的记录数
        var $pages;                        //总页数
        var $url;                        //当前页面url
  
  function  page($conn)//构造函数
          {
              $this->conn =$conn;//数据库连接
          }
  
  function init()//初始化函数
    {
    $this->get_count();//获取总纪录数
    $this->get_curpage();//获取当前页数
    $this->get_allpage();//总页数
    $this->url=$_SERVER['PHP_SELF'];//当前页面url
     }  
     
  function open()//获取记录集
    {
     $this->init();//初始化
     if($this->conn)
       {
      $sql=$this->sql." limit ".$this->page_size * $this->cur_page." ,".$this->page_size;
      $rs=mysql_query($sql,$this->conn);
      return $rs;
     }
     else
        return false;
    }
   
  function get_count()//获取总纪录数
    {
     if(isset($_GET['count']))
    $this->count=$_GET['count'];
     else
    {
       $rs=mysql_query($this->sql,$this->conn);
       $this->count=mysql_num_rows($rs);
     }
    }
     
  function get_curpage()//获取当前页数
    {
   if(isset($_GET['cur_page']))
    $this->cur_page=intval($_GET['cur_page'])+0;
     else
    $this->cur_page=0;
     }
     
  function get_allpage()//获取总页数
    {
   if($this->count % $this->page_size)
    $this->pages=intval($this->count / $this->page_size);
   else
    $this->pages=intval($this->count / $this->page_size)-1;
     }
     
//文字分页链接
     
    function first_page($name="首页",$str="",$class_name="")//首页。$name为首页名称,$str为自定义传递字符串,$class_name为CSS类选择标签名(注,以下同)
       {
     if($this->cur_page >0)//当前页大于第一页
      printf("$name   ",$this->url,0,$this->count);
     }
         
   function back_page($name="上一页",$str="",$class_name="")//上一页
       {
     if( $this->cur_page > 0)//当前页不是第一页
      printf("$name   ",$this->url,$this->cur_page-1,$this->count);
     }
         
    function next_page($name="下一页",$str="",$class_name="")//下一页
       {
     if($this->cur_page<$this->pages)//当前页小于总页数
      printf("$name   ",$this->url,$this->cur_page+1,$this->count);
     }
     
   function last_page($name="最后一页",$str="",$class_name="")//尾页
       {
     if( $this->cur_page < $this->pages)//当前页不是最后一页
      printf("$name",$this->url,$this->pages,$this->count);
     }
}
?>

//调用页面如下
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     require("page.php"); //类文件
    //连接数据库
    $conn=mysql_connect("localhost","root","")or die("数据库连接失败,请联系管理员!");
    mysql_select_db("test",$conn);
    mysql_query("set names 'gbk'");
    $obj=new page($conn);
    $obj->sql="select * from leaves";//查询语句
    $obj->page_size=2;//每页显示的记录数
    $rs=$obj->open();
    if(false==$rs)
        die("获取记录集失败,请检查数据库连接是否成功!");
    else
      {      
        while($myrow=mysql_fetch_array($rs))
            echo "留言人:".$myrow["leavename"]."   时间:".$myrow["leavetime"]."

留言标题:".$myrow["title"]."

留言内容:".$ myrow["content"]."

";
        }
    $obj->first_page();
    $obj->back_page();
    $obj->next_page();
    $obj->last_page();
        echo "
";

?>
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区