加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP MySQL分页显示

发布时间:2022-07-22 09:09:27 所属栏目:PHP教程 来源:互联网
导读:Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。
  Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。
 
  一、分页程序的原理
 
  分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里假如要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
 
  二、主要代码解析
 
  $pagesize=10; //设置每一页显示的记录数
  $conn=mysql_connect("localhost","root",""); //连接数据库
  $rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs
  $myrow = mysql_fetch_array($rs);
  $numrows=$myrow[0];
   
  //计算总页数
   
  $pages=intval($numrows/$pagesize);
   
  //判定页数设置
   
  if (isset($_GET['page'])){
   $page=intval($_GET['page']);
  }
  else{
   $page=1; //否则,设置为第一页
  }
  三、创建用例用表myTable
 
  create table myTable(id int NOT NULL auto_increment,news_title varchar(50),news_cont text,add_time datetime,PRIMARY KEY(id))
  四、完整代码
 
  <html>
  <head>
  <title>php分页示例</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  </head>
  <body>
  <?php
   $conn=mysql_connect("localhost","root","");
   //设定每一页显示的记录数
   $pagesize=1;
   mysql_select_db("mydata",$conn);
   //取得记录总数$rs,计算总页数用
   $rs=mysql_query("select count(*) from tb_product",$conn);
   $myrow = mysql_fetch_array($rs);
   $numrows=$myrow[0];
   //计算总页数
   
   $pages=intval($numrows/$pagesize);
   if ($numrows%$pagesize)
    $pages ;
   //设置页数
   if (isset($_GET['page'])){
    $page=intval($_GET['page']);
   }
   else{
    //设置为第一页  
    $page=1;
   }
   //计算记录偏移量
   $offset=$pagesize*($page - 1);
   //读取指定记录数
   $rs=MySQL_query("select * from myTable order by id desc limit $offset,$pagesize",$conn); 

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读