- 浏览: 803874 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
首先,用composer安装zf1的部分组件
注意,与另外两个分页组件比较看,zf1的分页组件是最简单 的,因为它智能的判断了总数!
建表:
请自行插入一百条数据。
程序1.php如下:
浏览器效果如下:
"require": { "zf1/zend-db":"1.12.11", "zf1/zend-paginator":"1.12.11" }
注意,与另外两个分页组件比较看,zf1的分页组件是最简单 的,因为它智能的判断了总数!
建表:
CREATE TABLE `test_databases` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `db_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '库名', `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '测试用户id', `created_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `updated_at` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '修改时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB
请自行插入一百条数据。
程序1.php如下:
<?php require __DIR__ . "/../vendor/autoload.php"; $params = array ('host' => '127.0.0.1', 'username' => 'root', 'password' => 'root', 'dbname' => 'test1', 'charset' => 'utf8mb4', ); $page=1; if (isset($_GET['page'])) $page = intval($_GET['page']); if ($page<1) { $page=1; } $db = Zend_Db::factory('PDO_MYSQL', $params); /** * 构造基础查询,每个查询该函数的内容都不一样, * 用函数的好处是 : 查询代码不重复。 */ $select = $db->select(); //这里也可以join之类 // 。。。 总之可以比较复杂,这个select。 $select->from("test_databases",["db_name","user_id"]); //参数null不可以省略。否则全选。 $select->where("id<100"); $select->order("id asc" ); $paginator = Zend_Paginator::factory($select); //设置分页对象,包括 当前页,每页显示几个结果,页码导航显示几个链接。 $paginator->setCurrentPageNumber($page) // 设置当前页的页码 ->setItemCountPerPage(4) // 每页显示4条数据 ->setPageRange(7); // 7个链接,这是较常规的,也可以9个链接。 //打印当前页的结果集。 $result = $paginator->getCurrentItems(); foreach ($result as $v) { echo $v["db_name"]." = " .$v["user_id"] ."<br>"; } // 分页链接对象 $page_obj = $paginator->getPages(); // 下面是$page_obj的详细信息。 // first : integer 第一页的页码,固定为1 // firstItemNumber : integer 无用 // firstPageInRange: integer 中间的连续链接中的第一个数字页码 // current : integer 当前页码 // currentItemCount: integer 无用 // itemCountPerPage: integer 无用 // last : integer 最后页的页码 // lastItemNumber : integer 无用 // lastPageInRange : integer 中间的连续链接中的最后一个数字页码 // next : integer 下页的页码 // pageCount : integer 总页数 // pagesInRange : array 中间链接的页码数组,每个元素就是一个整型的页码 // previous : integer 上页的页码 // totalItemCount : integer 无用,结果集总数 echo default_css(); echo get_page_url($page_obj); // END // 重要的构造分页链接的代码。 function get_page_url($page_obj) { $html=''; if ($page_obj->pageCount) { //上页 if (isset($page_obj->previous)) { $html.='<a href="'. get_url($page_obj->previous) . '" rel="prev">Previous</a>'; }else { $html.='<span class="disabled">Previous</span>'; } //首页,若与中间连接重复,则不显示 if ($page_obj->first < $page_obj->firstPageInRange ) { if ($page_obj->current== $page_obj->first) { $html.='<span class="current">'. $page_obj->current .'</span>'; }else { $html .= '<a href="'. get_url($page_obj->first) . '" >'. $page_obj->first .'</a>'; } } if ($page_obj->firstPageInRange - $page_obj->first > 1) { $html .= '<span class="dots">...</span>'; } //中间连接 foreach ($page_obj->pagesInRange as $v) { if ($page_obj->current== $v) { $html.='<span class="current">'. $page_obj->current .'</span>'; }else { $html .= '<a href="'. get_url($v) . '" >'. $v .'</a>'; } } if ($page_obj->last - $page_obj->lastPageInRange > 1) { $html .= '<span class="dots">...</span>'; } //末页,若与中间连接重复,则不显示 if ($page_obj->last > $page_obj->lastPageInRange ) { if ($page_obj->current== $page_obj->last) { $html.='<span class="current">'. $page_obj->current .'</span>'; }else { $html .= '<a href="'. get_url($page_obj->last) . '" >'. $page_obj->last .'</a>'; } } //下页 if (isset($page_obj->next)) { $html.='<a href="'. get_url($page_obj->next) . '" rel="next">Next</a>'; }else { $html.='<span class="disabled">Next</span>'; } $html = "<div class='pagerfanta'><nav>{$html}</nav></div>"; } return $html; } // 分页链接网址函数 function get_url($page) { return "/1.php?page=".$page; } // 分页链接样式表 function default_css() { $css=<<<css <style> .pagerfanta { } .pagerfanta a, .pagerfanta span { display: inline-block; border: 1px solid blue; color: blue; margin-right: .2em; padding: .25em .35em; } .pagerfanta a { text-decoration: none; } .pagerfanta a:hover { background: #ccf; } .pagerfanta .dots { border-width: 0; } .pagerfanta .current { background: #ccf; font-weight: bold; } .pagerfanta .disabled { border-color: #ccf; color: #ccf; } .pagerfanta a, .pagerfanta span { border-color: blue; color: blue; } .pagerfanta a:hover { background: #ccf; } .pagerfanta .current { background: #ccf; } .pagerfanta .disabled { border-color: #ccf; color: #cf; } </style> css; return $css; }
浏览器效果如下:
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 550本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 662centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 999本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 998列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 378期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 894ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 689一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 536coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 801deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 576假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 804php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 872php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 565根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 759phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 359如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 709方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 726在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 586整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 832最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
主要介绍了zf框架db类的分页示例,代码很简单,大家看一下注释就可以使用了
zf2框架下开发的基本案例,用于刚接触zendframework2的童鞋看看,仅作研究参考使用。
主要介绍了zf框架的Db类select查询器join链表使用示例,需要的朋友可以参考下
zf2 框架下的模版实例,网上教程改写,帮助新手学习
zf Zend_Framework 框架 中文手册
其中包括zf框架的配置资料和中文学习手册。对于初学者有一定帮助。
zf框架的校验器使用使用示例.docx
zf2-whoops, 在ZF2框架上,PHP whoops错误 ZF2模块,集成 whoop是PHP的错误处理程序基础/框架。 Out-of-the-box,它提供了一个可以以帮助你调试web项目的错误接口,但是它是一个简单而强大的堆叠错误处理。模块安装...
zf框架的registry使用示例.docx
ThinkPhp仿百度分页类,在ThinkPhp3.1.3下测试通过 Author: 泡泡堂 <46445280@qq.com> <http://371zf.sinaapp.com/> 参照 ThinkPhp3.1.3 及 ThinkPhp3.2.1护展包下的 Page.class.php 说明:在ThinkPhp3.1.3下测试...
Zend Framework (简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。...
php zendframework 框架的中文文档
php分页思路以及在ZF中的使用,需要的朋友可以参考下
zf zend fremwork 框架 实例 项目 基础 配置
zf-doctrine, 一个Zend框架 1.x 和 Doctrine 1.2集成 Doctrine 1与 Zend 框架集成项目试图提供 Doctrine 1与 Zend 框架的完整集成。 以下组件属于这里集成:Zend_Application资源Zend框架模块项目支持用于 Doctrine ...
V-BLAST系统的ZF检测ZF检测:线性检测包括ZF(迫零)和MMSE(最小均方误差),检测一般有三步:1、根据准则得到线性加权向量。2、利用线性加权向量得到判决统计量。3、对判决统计量进行判决。
$Session = new Zend_Session_Namespace(‘Db’);$Session ->host = ‘127.0.0.1’;$Session ->username = ‘root’;$Session ->password = ‘111’;$Session ->dbname = ‘test’;//定义会话过期时间$Session ->...
zf2-documentation, Zend框架 2文档源 欢迎使用的文档 documentation发布信息本文档基于 Zend ( 主分支)联机查看文档我们使用项目来呈现Zend文档的开发版本。你可以阅读 http://zf2.readthedocs.org 中的在线文档...