<?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. [luogu2982][USACO10FEB]慢下来Slowing down(树状数组+dfs序)

    题目描述 Every day each of Farmer John's N (1 <= N <= 100,000) cows conveniently numbered 1..N mov ...

  2. LTE Module User Documentation(翻译9)——Using the EPC with emulation mode

    LTE用户文档 (如有不当的地方,欢迎指正!) 15 Using the EPC with emulation mode(使用仿真方式的 EPC)     在上一节中,我们使用点对点链路连接基站和服务 ...

  3. python collections defaultdict

    class_counts  = defaultdict(int) 一.关于defaultdict 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collect ...

  4. zoj3430Detect the Virus(ac自动机)

    链接 解码之后是跟普通的自动机求解一下的,只不过解码比较恶心,512=>N>=0 ,所以不能用字符串来存,需要转换成整数来做. #include <iostream> #inc ...

  5. RMAN的入门篇

    一.RMAN连接数据库 1.  连接本地数据库 [oracle@oracle hotbak]$ export oracle_sid=orcl [oracle@oracle hotbak]$ rman ...

  6. 基于注解的Spring AOP的配置和使用--转载

    AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程.可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. ...

  7. How to remove k__BackingField from Json data

    当用DataContractJsonSerializer类序列化对象为Json时,发现序列化后的json对象,每个属性都带有k__BackingField后缀,像这样: 解决办法:为要被序列化的类打上 ...

  8. 关于tomcat会在url末尾自动追加斜杠(/)

    今天,突然发现一个问题, 比如我的请求路径为  http://ip:port/my_project/myapp, 在浏览器中敲入这个地址,然后会显示 http://ip:port/my_project ...

  9. Yii MySQL修改数据库的数据

    最新学习Yii框架,分享一些学习心得,适合初学者,大神请按ctrl + w //第一种方法 <?php /* * $id 代表主键,可以是一个也可以是一个集合. * $attributes 代表 ...

  10. 51nod1693 水群

    题目链接:51nod1693 水群 题解参考大神的博客:http://www.cnblogs.com/fighting-to-the-end/p/5874763.html 这题时限0.4秒,真的够狠的 ...