`
dennisbing
  • 浏览: 159147 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP+Mysql---分页原理及应用

    博客分类:
  • PHP
 
阅读更多

 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);
 if ($myrow = mysql_fetch_array($rs))
 {
  $i=0;
  ?>
  <table border="0" width="80%">
  <tr>
   <td width="50%" bgcolor="#E0E0E0">
    <p align="center">标题</td>
    <td width="50%" bgcolor="#E0E0E0">
    <p align="center">发布时间</td>
  </tr>
  <?php
   do {
    $i++;
    ?>
  <tr>
   <td width="50%"><?=$myrow["news_title"]?></td>
   <td width="50%"><?=$myrow["news_cont"]?></td>
  </tr>
   <?php
   }
   while ($myrow = mysql_fetch_array($rs));
    echo "</table>";
  }
  echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")";
  for ($i=1;$i< $page;$i++)
   echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
   echo "[".$page."]";
   for ($i=$page+1;$i<=$pages;$i++)
    echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
    echo "</div>";
   ?>
  </body>
  </html>


  五、总结

  本例代码在windows2000 server+php4.4.0+mysql5.0.16上运行正常。该示例显示的分页格式是[1][2][3]…这样形式。假如想显示成“首页 上一页 下一页 尾页”这样形式,请加入以下代码:

$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;

if ($page > 1)
{
 echo "<a href='fenye.php?page=".$first."'>首页</a> ";
 echo "<a href='fenye.php?page=".$prev."'>上一页</a> ";
}

if ($page < $pages)
{
 echo "<a href='fenye.php?page=".$next."'>下一页</a>
 echo "<a href='fenye.php?page=".$last."'>尾页</a> ";
}


  其实,写分页显示代码是很简单的,只要掌握了它的工作原理。希望这篇文章能够带给那些需要这方面程序web程序员的帮助。

分享到:
评论

相关推荐

    PHP+mysql分页原理和实例应用.pdf

    接下来,我们将详细介绍PHP+MySQL分页的原理及实例应用。 首先,我们需要了解MySQL数据库中实现分页的核心SQL语句——LIMIT子句。在SQL语句中,LIMIT用于限制查询结果的数量,它接受一个或两个数字参数,表示从哪一...

    PHP+MySql分页显示示例分析.

    #### 一、分页显示原理及应用场景 在Web开发中,当数据量较大时,一次性加载所有数据到前端不仅会增加服务器的负担,还会导致页面加载时间过长,用户体验差。因此,采用分页技术可以有效地解决这一问题。分页显示是...

    php+mysql+smarty的分页原理-适用于初学者

    本文将深入探讨PHP、MySQL和Smarty分页的原理,并提供适用于初学者的实践指导。 首先,我们要理解分页的基本概念。分页是将大量数据按固定数量分割成多个部分(页)进行显示,以提高用户体验,避免一次性加载过多...

    PHP留言板(增-删-改-查-分页-伪静态-带权限-注册登录)

    通过学习和实践这个项目,初学者可以深入理解PHP与MySQL的结合使用,以及Web应用开发中的基础原理和最佳实践。同时,这个项目也可以作为进一步学习更复杂Web技术,如框架、模板引擎、安全防护等的起点。

    原创的一个PHP+MYSQL论坛

    通过分析和研究这个"原创的PHP+MYSQL论坛",开发者和学习者可以深入理解Web应用程序的开发流程,提升PHP和MySQL的实际运用能力,同时也能接触到Web安全、用户体验等多方面知识。对于希望从事Web开发的人来说,这是一...

    PHP+mysql的新闻发布系统

    总结,"PHP+mysql的新闻发布系统"是一个综合性的Web应用程序,涵盖了服务器端脚本、数据库管理、用户界面设计以及安全防护等多个方面。通过学习和实践此类系统,开发者可以提升自己在Web开发领域的技能。

    php+mysql数据分页函数

    在PHP和MySQL开发中,数据分页是一种常见的技术,它用于处理大量数据,避免一次性加载过多内容导致页面响应变慢或内存压力增大。本篇将详细介绍如何使用PHP编写一个简单的数据分页函数,并结合MySQL数据库进行操作。...

    php+mysql分页原理(加个关注就行).rar

    总结来说,PHP+MySQL的分页原理主要是通过SQL查询的适当限制和用户输入的处理,实现数据的分批次展示,从而提高网页性能和用户体验。这个项目提供的"分页"文件可能包含了具体的代码示例,学习者可以通过阅读和实践...

    新闻发布系统PHP+MySQL实例

    【新闻发布系统PHP+MySQL实例】是一个基于PHP编程语言和MySQL数据库技术构建的网站应用实例,主要功能是实现新闻的发布、管理和展示。这样的系统在许多企业和组织的官方网站中被广泛使用,用于发布最新动态、公告...

    经典的php+mysql分页显示

    ### 经典的 PHP + MySQL 分页显示技术详解 在 Web 开发中,尤其是在构建具有大量数据展示功能的网站时,分页是一项非常重要的技术。它不仅能够提高用户体验,还能减轻服务器的压力。本文将深入探讨一种经典的 PHP +...

    PHP实例开发源码-查立得快搜系统(php+Mysql).zip

    通过研究这个实例,开发者不仅可以学习到PHP和MySQL的结合应用,还可以深入了解搜索引擎的工作原理,对Web开发中的数据处理和检索有更深入的理解。这将对提升Web开发技能和解决实际问题的能力大有裨益。

    基于AJAX PHP MYSQL的无刷新分页工具的研究与实现.pdf

    《基于AJAX PHP MYSQL的无刷新分页工具的研究与实现》 在Web程序开发中,分页是一项重要的功能,特别是在处理大量数据时,分页能够有效地提高用户体验和系统性能。传统的分页方式通常伴随着整个页面的刷新,然而在...

    简易留言板系统 php+mysql

    【简易留言板系统 php+mysql】是一个基于PHP编程语言和MySQL数据库技术开发的简单交互式应用程序。这个系统的主要目的是提供一个在线平台,使用户能够留下他们的信息、反馈或建议,而无需注册账户。以下是对该系统的...

    php+mysql的留言板

    通过这个简单的PHP+MySQL留言板项目,你可以掌握Web开发的基本流程,包括数据的提交、处理、存储和检索,以及前后端交互的原理。这只是一个起点,随着技术的深入学习,你可以创建更复杂、功能更丰富的应用程序。

    新闻php+phpmysql

    在这个"新闻php+phpmysql"项目中,我们可以学习到如何构建一个简单的新闻发布和管理系统。以下是关于这个主题的一些关键知识点: 1. **PHP基础**:PHP(Hypertext Preprocessor)是一种服务器端脚本语言,主要用于...

    PHP+MySQL的分页显示示例分析

    在Web开发中,分页是一种常见的用户界面设计,它允许...理解分页原理和编写相关代码是每个Web开发者的基本技能。在实际应用中,还需要考虑如优化查询性能、添加样式美化、处理边界情况等因素,以提供更完善的分页功能。

    PHP实例开发源码—PHP+mysql数据库分页类万能版(附源码及数据库下载).zip

    在本资源中,我们主要探讨的是PHP与MySQL数据库结合实现的分页类,这是一个非常实用的技巧,尤其在处理大量数据展示时。PHP是广泛使用的服务器端脚本语言,而MySQL则是流行的关系型数据库管理系统,两者配合可以构建...

    PHP+MySQL八大动态Web应用实战源代码

    在本资源包中,"PHP+MySQL八大动态Web应用实战源代码" 提供了学习和实践PHP和MySQL结合开发Web应用程序的宝贵材料。这是一套完整的教程,旨在帮助开发者掌握如何利用这两种技术构建功能丰富的动态网站。以下是这些...

    PHP MYSQL分页代码

    本资源"PHP MYSQL分页代码"提供了一个实用的解决方案,结合了PHP和MySQL两种技术来实现高效的数据分页功能。 首先,让我们深入了解PHP和MySQL在分页中的角色。PHP是一种广泛使用的服务器端脚本语言,常用于动态网站...

Global site tag (gtag.js) - Google Analytics