php分页的实现
php常见分页有3种,一种是文字分页,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的,这个比较简单,前者稍微复杂些.最后一种是他们2者结合.
下面是代码:
1 //获取当前页数
2 if(isset($_GET['page'])){
3 $page = intval($_GET['page']);
4 }
5 else {
6 $page=1;
7 }
8 $PageSize = 1; //每页的记录数量
9 // 获取总数量
10 $sql = "select count(*) from blog";
11 $result = mysql_query($sql);
12 $row = mysql_fetch_row($result);
13 $amount = $row[0];
14 /*计算总页数
15 if($amount){
16 if($amount<$PageSize) { //如果总数量小于每页的记录数量$PageSize,那么只有一页.
17 $PageCount = 1;
18 }
19 if($amount%$PageSize) { //总数量除以每页的记录数量取于
20 $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1
21 }
22 else{
23 $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数
24 }
25 }
26 else{
27 $PageCount = 0;
28 }*/
29 $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量 如果有小树,则进位< span style="color: #008000;">
30 if($Page>$PageCount|$page==0){// 如果当前页数大于总页数
31 echo "不能发现此页!";
32 exit();
33 }
34
35 //翻页链接
36 $PageOut = '';
37 if($page==1){//如果页数只有一页
38 $PageOut .= '第一页|上一页';
39 }
40 else{
41 $PageOut .= '<a href="index.php?page=1">第一页& lt;/a>|<a href="index.php?page='.($page-1).'">上一页</a>|';
42 }
43 if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
44 $PageOut .= '下一页|尾页';
45 }
46 else{
47 $PageOut .= '<a href="index.php?page='.($page+1).'">下一 页</a>|<a href="index.php?page='.$PageCount.'">尾页</a>';
48 }
49 //获取数据
50 if($amount){
51 $sql="select * from blog limit ".($page-1)*($PageSize).",$PageSize";
52 $result=mysql_query($sql);
53 while($row=mysql_fetch_array($result)){//此段代码只是示例
54 $blogs[] = array('bid'=>$row['bid'],'title'=>$row['title']);
55 foreach ($blogs as $blog){
56 $title=$blog['title'];
57 }
58 $output = "<a href=index.php?action=blog_del&bid=$blog[bid]>删除</a>".
59 "<a href=index.php?action=blog_edit&bid=$blog[bid]>编辑</a>".
60 "<a href=index.php?action=blog_view&bid=$blog[bid]>查看</a>";
61 include("template/default/blog.tpl.php");
62 echo $PageOut;
63 }
64 for($i=1;$i<=$PageCount;$i++){//数字分页
65 $Pageshow = ($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>";
66 echo $PageShow;
67 }
68 echo $amount.'条记录,每页'.$PageSize.'条,共'.$PageCount.'页';
69 }
php分页的实现的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- 分页插件--根据Bootstrap Paginator改写的js插件
刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两 ...
随机推荐
- poj3013 邻接表+优先队列+Dij
把我坑到死的题 开始开题以为是全图连通是的最小值 ,以为是最小生成树,然后敲了发现不是,看了下别人的题意,然后懂了: 然后发现数据大,要用邻接表就去学了一下邻接表,然后又去学了下优先队列优化的dij: ...
- 8 继承-extends
面向对象的特征:继承,封装和多态 java 当中只支持单继承,不允许多继承 class Person { String name; int age; void eat() { System.out.p ...
- matlab 获取鼠标位置
转载:http://hi.baidu.com/alec1228/item/68ea36ebe4046f3a86d9deab 第一种途径:ginput()函数 ginput提供了一个十字光标使我们能更精 ...
- 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...
- 【bzoj2152】 聪聪可可
http://www.lydsy.com/JudgeOnline/problem.php?id=2152 (题目链接) 题意 给出一棵n个节点的带权树,求有多少点对的距离是3的倍数. solution ...
- 在打开vs解决方案时,怎样让所以打开的项目自动折叠
使用VS 2010中的扩展性,搜PowerCommands,PowerCommands扩展在Visual Studio 2010中添加了数十个有用的的命令, Collapse Projects(折叠项 ...
- Linux Module
catalog . 概述 . 使用模块 . 插入和删除模块 . 自动化与热插拔 . 版本控制 1. 概述 模块(module)是一种向Linux内核添加设备驱动程序.文件系统及其他组件的有效方法,而无 ...
- poj3484 Showstopper 二分
题目地址 二分用的很是巧妙!关键是抽象出问题本质. #include <cstdio> #include <string> #include <cstring> ; ...
- Newtonsoft.Json动态过滤属性
Newtonsoft.Json动态过滤属性 接口写的多了,会发现很多的问题.同一个dto,不同的action返回的字段个数不一样.往往开发人员因为懒或者各种原因一股脑的全返回,会浪费很多流量且用户体验 ...
- Oracle实例、用户、权限和角色
1.数据库的实例:数据库创建后会有一系列为该数据库提供服务的内存空间和后天进程,称为该数据库的实例.每一个数据库至少会有一个实例为其服务.实例中的内存结构称为系统全局区(SGA),系统会根据当前计算机 ...