在做留言板的时候,用到了分页,所以写了这个分页笔记
 
既然已经开始写分页了,肯定掌握了了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>";

?>

 

php分页笔记的更多相关文章

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

    预编译:ps对象1.ps可进行预编译,占位符传值,性能高于sta的(数据库驱动层有优化)2.比较灵活,数据库将预编译的SQL缓存了,第二次访问,就不用预编译,直接执行.3.较为安全,不会发生SQL注入 ...

  2. [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页

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

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

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

  4. bootstrap-paginator 分页插件笔记

    [MVC]bootstrap-paginator 分页插件笔记   bootstrap-paginator基于bootstrap框架,使用起来非常简单.官网:http://harttle.github ...

  5. 【EF6学习笔记】(三)排序、过滤查询及分页

    本篇原文地址:Sorting, Filtering, and Paging 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了 ...

  6. EF6 学习笔记(三):排序、过滤查询及分页

    EF6 学习笔记索引目录页: ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上篇:EF6 学习笔记(二):操练 CRUD 增删改查 本篇原文地址:Sorting, Filterin ...

  7. SQLServer分页查询笔记

    学习SqlServer到现在快两年了吧,分页查询总是忘了看笔记,看了又忘.之前用的分页都是row_number函数的方式,背不住...直到今天,看到别人写的另一种分页写法,看似比row_number简 ...

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

    搜索笔记功能 按键监听事件 $("#search_note").keydown(function(event){ var code=event.keyCode; if(code== ...

  9. Django学习笔记(12)——分页功能

    这一篇博客记录一下自己学习Django中分页功能的笔记.分页功能在每个网站都是必要的,当页面因需要展示的数据条目过多,导致无法全部显示,这时候就需要采用分页的形式进行展示. 分页在网站随处可见,下面展 ...

随机推荐

  1. 理解SQL Server中索引的概念

    T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他   简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能 ...

  2. 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。

    package com.hanqi.yzljs; public class yzljs { public static void main(String[] args) {     final dou ...

  3. Android基本功:Handler消息传送机制

    一.什么是UI线程 当程序第一次启动的时候,Android会同时启动一条主线程( Main Thread). 主要负责处理与UI相关的事件. 二.UI线程存在的问题 出于性能优化考虑,Android的 ...

  4. 判断richtextbox选中的是否为图片

    ) { Text = "Img"; } else { Text = "Form1"; }

  5. Yum出错Error: Cannot find a valid baseurl for repo: base(转)

    centos yum 错误 Error: Cannot find a valid baseurl for repo: base 装了个CentOS 6.x,使用yum时出现了下面的错误提示.Loade ...

  6. strace

    -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename,则所有进程 ...

  7. 图层类(CCLayer)

    层 以捕鱼游戏场景为例,场景可以大致分为4层. 菜单层:悬浮于最上方的各种菜单项. 触摸层:处理在屏幕上的触摸点击时间. 动作层:放置鱼.子弹.网等,并处理碰撞. 背景层:背景图片. 如图2-2所示, ...

  8. HTML增加删除邮件(table)

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. css图片垂直居中

    css图片垂直居中一.style代码 .case-pic{ height: 125px; position: relative; text-align: center } .case-pic span ...

  10. Hadoop Standalone and Pseudo Mode

    . Required Softwareyum install openssh-server rsync java-1.8.0-openjdk-devel . Setup Hostname/etc/ho ...