封装page分页类
类:
<?php
//分页工具类
class Page{
/*
* 获取分页字符串
* @param1 string $uri,分页要请求的脚本url
* @param3 int $counts,总记录数
* @param4 int $length,每页显示的记录数
* @param5 int $page = 1,当前页码
* @return string,带有a标签的,可以点击发起请求的字符串
*/
public static function getPageStr($uri,$counts,$length,$page = 1){
//构造一个能够点击的字符串
//得到数据显示的字符串
$pagecount = ceil($counts/$length); //总页数
$str_info = "当前一共有{$counts}条记录,每页显示{$length}条记录,一共{$pagecount}页,当前是第{$page}页";
//生成可以操作的连接:首页 上一页 下一页 末页
//求出上一页和下一页页码
$prev = ($page <= 1) ? 1 : $page - 1;
$next = ($page >= $pagecount) ? $pagecount : $page + 1;
$str_click = <<<END
<a href="{$uri}?page=1">首页</a>
<a href="{$uri}?page={$prev}">上一页</a>
<a href="{$uri}?page={$next}">下一页</a>
<a href="{$uri}?page={$pagecount}">末页</a>
END;
//按照页码分页字符串
$str_number = '';
for($i = 1;$i <= $pagecount;$i++){
$str_number .= "<a href='{$uri}?page={$i}'>{$i}</a> ";
}
//下拉框分页字符串:利用js的onchang事件来改变当前脚本的href
$str_select = "<select onchange=\"location.href='{$uri}?page='+this.value\">";
//将所有的页码放入到option
for($i = 1;$i <= $pagecount;$i++){
if($i == $page)
$str_select .= "<option value='{$i}' selected='selected'>{$i}</option>";
else
$str_select .= "<option value='{$i}'>{$i}</option>";
}
$str_select .= "</select>";
//返回值
return $str_info . $str_click . $str_number . $str_select;
}
}
封装page分页类的更多相关文章
- page分页类
<?php /** file: Page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...
- layui -page 分页类
<?phpnamespace page; // +---------------------------------------------------------------------- / ...
- page分页
首先封装一个分页类 public class Page<T> { /** * 当前页号 */ private int pageNumber; /** * 总条数 */ private in ...
- TP5 分页类,自定义样式
结合X-admin 后台框架 在做项目,为了保持分页风格的一致,所以需要自定义 一个分页类. 一.在项目的 extend 目录,创建 cus 目录 二.创建 Page 分页类,代码如下 <?ph ...
- 自定义MVC框架之工具类-分页类的封装
以前写过一个MVC框架,封装的有点low,经过一段时间的沉淀,打算重新改造下,之前这篇文章封装过一个验证码类. 这次重新改造MVC有几个很大的收获 >全部代码都是用Ubuntu+Vim编写,以前 ...
- Django分页类的封装
Django分页类的封装 Django ORM 封装 之前有提到(Django分页的实现)会多次用到分页,将分页功能封装起来能极大提高效率. 其实不是很难,就是将之前实现的代码全都放到类中,将需要用 ...
- SSM框架下分页的实现(封装page.java和List<?>)
之前写过一篇博客 java分页的实现(后台工具类和前台jsp页面),介绍了分页的原理. 今天整合了Spring和SpringMVC和MyBatis,做了增删改查和分页,之前的逻辑都写在了Servle ...
- mysql mybatis-generator plugin 有page实体类的分页
page实体类 package cn.zsmy.tmp; import java.io.Serializable; /** * 分页对象. * */public final class Page im ...
- php四个常用类封装 :MySQL类、 分页类、缩略图类、上传类;;分页例子;
Mysql类 <?php /** * Mysql类 */ class Mysql{ private static $link = null;//数据库连接 /** * 私有的构造方法 */ pr ...
随机推荐
- SDP协议中的Continuation State
在SDP request和SDP response中,最后一部分为Continuation State,结构如下: 它用于一次response不够把所有的Data传回去的情况.这时候需要将respon ...
- node express 学习2
上次我们的express已经安装好了 接下来我们修改渲染引擎为html // view engine setup app.set('views', path.join(__dirname, 'view ...
- 框架,公共模块,unified思想
最近两周一直在加班加点refactor代码,贡献了2014年最后一个周末和2015年元旦三天假期,终于赶在了sprint结束之前完成. 可见,这个sprint做的并不理想! 项目逻辑本身并不复杂,从数 ...
- ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用
原文:ArcGIS API for Silverlight 之ElementLayer使用及TextSymbol的模板使用 在开发中动态在地图上添加文字信息,可以使用TextSymbol添加文字 // ...
- php中的编码问题
转自:http://www.jb51.net/article/22501.htm php的header来定义一个php页面为utf编码或GBK编码 php页面为utf编码 header("C ...
- Jackson:fasterxml和codehaus的区别
Jackson fasterxml和codehaus的区别: 它们是jackson的两个分支.也是两个版本的不同包名.jackson从2.0开始改用新的包名fasterxml:1.x版本的包名是cod ...
- Python-S13作业-day3-之编辑ha.conf配置文件
Python-S13作业-day3-之编辑ha.conf配置文件 需求: 让用户输入字符串类型的字典,实现对配置文件指定,backend www.oldboy.org下的内容进行 * 查询 * 增加 ...
- JavaScript:单选钮的事件处理
单选按钮事件: 单选钮属于多选一的处理流程,但是单选钮由于也是HTML元素,所以对于JavaScript而言也表示对象. 注意:单选钮的特点是一定要需要名相同才可以实现,所以此处如果名字相同,那么就是 ...
- POJ 1039问题描述
Description The GX Light Pipeline Company started to prepare bent pipes for the new transgalactic li ...
- [BS-17] iOS开发-Alpha,Hidden和Opaque区别
iOS开发-Alpha,Hidden和Opaque区别 UIView控件都有Alpha,Hidden和Opaque这三个常见属性,UIView控件BackgroundColor是用RGBA表示的, ...