<?php
   class page
   {
      var $table;
      var $pagesize;
      var $totalsize;
      var $totalpage;
      var $first;
      var $page;
      var $provepage;
      var $nextpage;
      function __construct($table,$pagesize)
      {
          $conn=mysql_connect("localhost","root","123456");
          mysql_select_db("baonier");
          $this->table=$table;
          $this->pagesize=$pagesize;
          $sql="select * from ".$this->table."";
          $query=mysql_query($sql);
          $num=mysql_num_rows($query);
          $this->page=isset($_GET['page'])?$_GET['page']:1;
          $this->totalsize=$num;
          $this->totalpage=ceil(($this->totalsize)/($this->pagesize));
          $this->first=($this->pagesize)*($this->page-1);
          $this->provepage=$this->page-1;
          $this->nextpage=$this->page+1;
          
      }
      function get_rows()
      {
          $sqls="select * from ".$this->table." limit ".$this->first.",".$this->pagesize."";  
          $querys=mysql_query($sqls);
          $dates=Array();
          while($rows=mysql_fetch_array($querys))
          {
               $dates[]=$rows;
          }
          //print_r($dates);exit;
          return $dates;
      }
      function get_page()
      {
          if($this->provepage<1){
             $this->provepage=1;
          }
          if($this->nextpage>$this->totalpage){
             $this->nextpage=$this->totalpage;
          }
         $div="<a href=\"?page=1\">首页</a>&nbsp;&nbsp;&nbsp;&nbsp;
         <a href=\"?page=$this->provepage\">上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
         <a href=\"?page=$this->nextpage\">下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
         <a href=\"?page=$this->totalpage\">尾页</a>";
         return $div;
      }
   }
?>

<style  type="text/css">
.td{ text-align:center;padding-left:20px;padding-right:20px;}
</style>
<html>
   <body>
     <table style="background-color:#fcc">
      <tr>
         <td class="td">编号</td>
         <td class="td">标题</td>
         <td class="td">作者</td>
         <td class="td">时间</td>
         <td class="td">内容</td>
     </tr>
<?php
   include "page.php";
   $page=new page("news",5);
   $arr=$page->get_rows();
   foreach ($arr as $rows)
   {
?>
           <tr style="background-color:#ffc">
             <td class="td"><?php echo $rows['nid'] ?></td>
             <td class="td"><?php echo $rows['title'] ?></td>
             <td class="td"><?php echo $rows['author'] ?></td>
             <td class="td"><?php echo $rows['publishtime'] ?></td>
             <td class="td"><?php echo $rows['content'] ?></td>
           </tr>
     <?php   
     }
     ?>
</table>
<table>
         <tr>
         <td style="width:250px;"></td>
         <td><?php echo $page->get_page();?></td>
         <td style="width:100px;"></td>
         </tr>
     </table>
   </body>
</html>

PHP面向对象(分页)的更多相关文章

  1. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  2. 面向对象版js分页

    基于前一个js分页,我将代码改成一个面向对象版的js分页,代码如下 http://peng666.github.io/blogs/pageobj <!DOCTYPE html> <h ...

  3. PHP面向对象(OOP)----分页类

    > 同验证码类,分页也是在个人博客,论坛等网站中不可缺少的方式,通过分页可以在一个界面展示固定条数的数据,而不至于将所有数据全部罗列到一起,实现分页的原理其实就是对数据库查询输出加了一个limi ...

  4. 简单封装分页功能pageView.js

    分页是一个很简单,通用的功能.作为一个有经验的前端开发人员,有义务把代码中类似这样公共的基础性的东西抽象出来,一来是改善代码的整体质量,更重要的是为了将来做类似的功能或者类似的项目,能减少不必要的重复 ...

  5. MYSQL、PHP基础、面向对象基础简单复习总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

  6. Javascript面向对象特性实现封装、继承、接口详细案例——进级高手篇

    Javascript面向对象特性实现(封装.继承.接口) Javascript作为弱类型语言,和Java.php等服务端脚本语言相比,拥有极强的灵活性.对于小型的web需求,在编写javascript ...

  7. python之面向对象

    首先我们应该知道,python在设计之初就已经是一门面向对象的语言,所以说python中创建一个类和对象是很容易的. 面向对象的技术简介 类(class):用来描述具有相同的属性和方法的对象的集合.它 ...

  8. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  9. python基础之面向对象高级编程

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) ...

随机推荐

  1. XAF学习资源整合大全

    近期有很多XAF初学者与我联系,我多数时间在重复很多入门问题,所以决定整理一篇XAF资源列表,方便大家查找资料,也请知晓其他资源的人留言或与我联系,我将新资源追加到本篇文章中,方便更多人. 一.本博客 ...

  2. Flex http请求

    下面类支持POST和GET请求,请求数据和出错将返回 package com.sole.util { import flash.events.Event; import flash.events.HT ...

  3. Linux下文件重命名、创建、删除、修改及保存文件

    一.重命名(更名) linux 给文件改名的命令是mv命令 mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户. ...

  4. java高薪之路__007_反射

    参考地址: 1. http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html2. http://www.cnblogs.com/ ...

  5. Instuments工具

    最近一直在研究IOS在多语言环境下的自动化测试,其中一个重大的问题就是如何在自动化测试的时候能够自动切换语言, 比如某个软件支持10个国家的语言,如果不能自动的切换语言,那么在测试的过程中就需要手动切 ...

  6. Java命令提示符编译

    Java利用命令提示符编译 1:最简单的方式:直接编译 /** 文件路径:G:\测试项目\java\src 文件名称:JacaText.java 编写时间:2016/6/2 作 者:郑晨辉 编写说明: ...

  7. apache认证、授权、访问控制

    认证对象:某一个网站目录. 启用认证 1.即用AllowOverride指令指定哪些指令在针对单个目录的配置文件中有效:AllowOverride AuthConfig 2.设置密码登录访问某个站点或 ...

  8. 由ArrayList构造函数源码引出的问题

    ArrayList应该用得很多了.最近看了看其源码,发现有很多细节,如果要我们自己来实现,估计会考虑不到.当然,这些细节跟jdk本身一些实现的bug有关,如果不去深挖,定然是不能发现.本文从Array ...

  9. kernel source reading notepad

    __init ,标记内核启动时所用的初始化代码,内核启动完成后就不再使用.其所修饰的内容被放到.init.text section中 __exit,标记模块退出代码,对非模块无效 to be cont ...

  10. Get IP Address in Android 4.0+

    在android2.3以下的系统中,可以使用如下的代码来获取Android系统的本地IP地址: [java]  private String getLocalIPAddress() throws So ...