php分页笔记

在做留言板的时候,用到了分页,所以写了这个分页笔记

既然已经开始写分页了,肯定掌握了了php的一些知识以及mysql的基本操作

在做分页的时候,我也遇到了很多问题,但是大家不要怕,无论什么问题总会有解决的办法的

首先我们应该对数据进行处理,如果有10条,或100条数据或许你不会感觉到有什么,

但是如果有1000条数据在一个页面上,你肯定会看的不耐烦,现在我们设置每个页面显示10条,就是分成100页。

相应的数据库操作:

Select * from table limit 0,10

这是一句很简单的mysql查询语句,它的作用是从一个名叫table的表里提取10条数据,并且把所有字段的值都获得。

这里的关键是在“limit 0,10”,表示的是以0为起点,查询后面的10条数据

如果要显示id=11到id=20的数据怎么进行操作呢?

Select * from table limit 10,10

想显示其他的数据只需把第一个参数的值修改就行了

怎样获取$page的值?推荐使用$page    = $_GET[‘page‘]; 即可获取页面的值

具体操作详见代码:

<?php

/*连接数据库操作*/

$conn = mysql_connect("localhost","root","") or die
("链接服务器错误".mysql_error());
mysql_select_db("db_book",$conn) or die
("链接数据库错误!");

/*分页原理*/

$sql1 = "select * from db_liuyan";    //查询表明为db_liuyan的所有数据

$result = mysql_query($sql1);

$number = mysql_num_rows($result); //获取表中的总记录条数

$pagesize = 10; //每页显示10条记录

/*怎样获取共有多少页?使用ceil函数,相除如果有余数,会自动进1,意思就是如果有26条数据,每页显示10条,则会计算出3页*/

$pagetotal = ceil($number/$pagesize); //计算共有多少页

$pageno = $_GET[‘pageno‘]; // $pageno 表示显示页面显示的页数

 

$start = $pagesize*($page-1);    
   
 //计算显示页从哪条记录开始,如果$page为1,则从id=0的记录开始,如果为2则从id=10的记录开始
$sql2 =
"select * from `db_liuyan` order by `id` asc
limit $startno,$pagesize";  

//在这里要注意的是,查询的时候要注意要按照顺序进行排序,asc 按照正序
 desc按照倒序排列

$result2 = mysql_query($sql2);

/*在做分页的时候i,出现了一些问题,如果只有一页记录,点击上一页或者下一页的时候,就会继续跳转到下一页,但是我只有一页的记录啊,

我就利用了if~else解决了这个问题*/

 /*如果$page为空,则把1赋值给$page*/

if($page==""){
  $pageno = 1;
}
  echo "<a
href=?pageno=1>首页</a>";

if($pageno==1){
  echo "<a
href=?pageno=1>上一页</a>";
}
else{
  echo "<a
href=?pageno=".($pageno-1).">上一页</a>";
}

/*利用for循环,显示1 2 3···进行跳转*/
for($i=1;$i<=$pagetotal;$i++){
 
$show=($i!=$pageno)?"<a
href=‘show.php?pageno=".$i."‘>$i</a>":"<b>$i</b>";

echo "$show";
}

if($pageno == $pagetotal){
  echo "<a
href=?pageno=".$pagetotal.">下一页</a>";
}
else{
  echo
"<a href=?pageno=".($pageno+1).">下一页</a>";
}
  echo
"<a href=?pageno=".$pagetotal.">末页</a>";

?>

 

时间: 2024-08-28 12:29:56

php分页笔记的相关文章

普通分页笔记

普通分页笔记----------------------- 需要单独提出一个page.jsp页面其他页面包含page.jsp这个页面Bootstrap组件-分页放入page.jsp <nav aria-label="Page navigation"> <ul class="pagination"> <li> <a href="#" aria-label="Previous"> &

OData 协议 asp.net Mvc WebAPI分页笔记

// 针对 OData协议的Mvc WebAPI 2.2 分页插件     ; (function ($, window) {         var tbPQ = function () {         };         // get the length from 'urlAndParamter'         function getCount(urlAndParamter, ok_handler) {             $.ajax(urlAndParamter, {  

django pagination 分页笔记

pip install django-pagination 配置setting INSTALLED_APPS = (                     'pagination',                   )  MIDDLEWARE_CLASSES = (                'pagination.middleware.PaginationMiddleware',           ) TEMPLATE_CONTEXT_PROCESSORS = (     ###a

javaweb笔记—04(预编译和泛型)

预编译:ps对象1.ps可进行预编译,占位符传值,性能高于sta的(数据库驱动层有优化)2.比较灵活,数据库将预编译的SQL缓存了,第二次访问,就不用预编译,直接执行.3.较为安全,不会发生SQL注入.4.简单,不用拼接SQL,少出错. SQL注入: select * from user where name = '"+name+"' or 1=1and pwd = '"+pwd+"' or 1=1; 5.把结果集中的数据放到list集合中的方法while(rs.n

【知了堂学习笔记】JSP页面数据分页实现(一)——分页概念以及主流数据库的分页查询

一.分页简介 1.分页,就是一种将数据库里的数据一部分展示给用户的技术.为什么要这样做呢?因为一般来说用户在查询时数据是非常多的,当一个页面不能显示所有数据时,我们就要对查询的数据进行分页,就像我们的书本分成一页一页一样.最简单的例子就是百度,当你百度时,成千上万的数据,并不是呈现在一个页面的. 2.分页的实现方式 1)假分页(不推荐):什么是假分页呢?假分页就是一次性将数据库里的数据全部取出来,存储在页面中,然后再将数据分别展示出来.这种假分页在数据少的还可以玩玩,当数据多起来的时候,这种方式

02 - Unit08:搜索笔记功能、搜索分页、处理插入数据库乱码问题

搜索笔记功能 按键监听事件 $("#search_note").keydown(function(event){ var code=event.keyCode; if(code==13){ 请求发送 } }) select * from cnshare cnshare_title like '%' 发送Ajax请求 事件绑定:键盘监听事件(keydown) 获取参数:keyword,作为模糊查询的基础 发送请求:/share/find.do 服务器处理 ShareController.

[原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

笔记: JDBC分页&amp;监听器

JDBC分页: * 概述: * 定义:将一页显示的内容,分成两页或两页以上来显示. * 分类: * 物理分页: * 就是在查询数据库记录时,已经实现分页. * 这种分页技术一定是数据库提供.(不同数据库实现方式不同) * 逻辑分页: * 就是查询数据库所有记录,然后在通过Java代码实现分页效果. * 逻辑分页与数据库产品本身是无关的. * 物理分页: * MySQL的Limit: * 语法:SELECT * FROM 表名 LIMIT 位置偏移量,行数; * 问题:Limit是否可以实现分页效

分页框架pager-taglib学习笔记

下面的笔记来自于孔浩老师的视频教程和我自己的开发实践. 使用Pager-taglib可以帮助我们快速开发分页处理. pager-taglib-2.0.war这是我们第1次直观地认识jar包.直接放到tomcat的webapp目录下面,就可以启动项目,查看帮助文档.说明:拷贝完之后,可以改一个名字,方便我们写访问的路径.使用的步骤:(1)将相应包拷贝到lib目录(pager-taglib.jar),另外一个是源码包,貌似可以不拷贝,我还没试过.(2)在jsp页面引入相应的分页标签库.引入标签 pr