- 浏览: 804938 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
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,不依赖框架。
假设当前使用的db类库是doctrine,则分页该怎么用?
本代码完全脱离symfony环境。只加载对应的db类库,故意不使用模板,让代码含义更加清晰。
composer
建表
请自行插入一百条数据。
假设本机项目域名www.t3.com
本代码网址
http://www.t3.com/paginator/doctrine
首页只需输入上面网址即可,点击分页链接,会自动加page查询参数。
效果展示
假设当前使用的db类库是doctrine,则分页该怎么用?
本代码完全脱离symfony环境。只加载对应的db类库,故意不使用模板,让代码含义更加清晰。
composer
{ "require": { "doctrine/dbal":"2.5.12", "pagerfanta/pagerfanta":"1.0.5" } }
建表
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
请自行插入一百条数据。
假设本机项目域名www.t3.com
本代码网址
http://www.t3.com/paginator/doctrine
首页只需输入上面网址即可,点击分页链接,会自动加page查询参数。
<?php namespace app\control; // use Illuminate\Database\Capsule\Manager as Capsule; // // use \Illuminate\Events\Dispatcher; // // use \Illuminate\Container\Container; // use Illuminate\Pagination\UrlWindow; use Doctrine\DBAL\Query\QueryBuilder; use Doctrine\DBAL\Configuration; use Doctrine\DBAL\DriverManager; use Pagerfanta\Adapter\DoctrineDbalAdapter; use Pagerfanta\Pagerfanta; use Pagerfanta\View\DefaultView; class Paginator { public function doctrine( $req, $res, $args) { $config = new Configuration(); //.. $connectionParams = array( 'dbname' => 'test1', 'user' => 'root', 'password' => 'root', 'host' => '127.0.0.1', 'driver' => 'pdo_mysql', 'charset'=>'UTF8', ); $conn = DriverManager::getConnection($connectionParams, $config); //构造查询语句。 $queryBuilder = new QueryBuilder($conn); $queryBuilder->select('p.*')->where("p.id < 100")->from('test_databases', 'p') ->orderBy("p.id","asc"); $countQueryBuilderModifier = function ($queryBuilder) { $queryBuilder->select('COUNT(*) AS total_results') ->setMaxResults(1); }; $adapter = new DoctrineDbalAdapter($queryBuilder, $countQueryBuilderModifier); $pagerfanta = new Pagerfanta($adapter); $page = intval( $_GET["page"]); if (!$page) { $page=1; } //设置当前页,最大页面。 $pagerfanta->setMaxPerPage(4)->setCurrentPage($page); //打印当前页面的结果 foreach ($pagerfanta->getCurrentPageResults() as $v ) { echo $v['db_name'] .' = ' . $v['user_id']."<br>"; } //打印分页链接。 $routeGenerator = function($page) { // 匿名函数解决链接字符串 return '/paginator/doctrine?page='.$page; }; $view = new DefaultView(); $options = array('proximity' => 3); // 这个数字干嘛用?中间的链接个数=这个数字*2+1,这个数字一般取3. $html = $view->render($pagerfanta, $routeGenerator, $options); echo $this->default_css(); echo "<div class='pagerfanta'>" .$html."</div>"; return $res; } private 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 554本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 669centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1006本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1025列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 383期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 899ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 694一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 540coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 807deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 579假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 808php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 881php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 569根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 766phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 362如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 716方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 728在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 590整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 838最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
Doctrine缓存组件_PHP_下载
Doctrine Cache是一个使用的php缓存类库,感兴趣的朋友们可以下载下来,用到自己的项目中。
Doctrine Cache是一个使用的php缓存类库
教义缓存 从“ Doctrine Common”项目中提取的缓存组件。
佩吉尔芬塔 Pagerfanta是一个PHP库,它通过支持许多数据提供程序来帮助计算和呈现分页列表。此软件包是原始软件包的延续。文献资料请访问以获取有关如何使用此软件包的详细信息。安全如果您认为已发现此程序包存在...
doctrine,最好的php ORM框架,很好用,大家试试。
Doctrine2 ORM 官方文档 自己编译的
symfony 实战 for doctrine 中文版
Laravel开发-laravel-doctrine 网络工匠框架的ORM
Laravel开发-laravel-doctrine-tenancy 使用Laravel和学说的多租户实现。
Laravel开发-doctrine-repository 基于雄辩的简单查询的条令存储库
一个简单的数据库对象关系映射框架doctrine的使用demo
php orm, doctrine 官方资料
Laravel开发-laravel5-doctrine 这一学说形成了一个大框架。
dflydev-doctrine-orm-service-provider, Doctrine ORM服务提供商 Doctrine ORM服务提供程序为Pimple应用程序提供 Doctrine ORM实体管理器服务。特性利用核心 Doctrine 服务提供商( Silex ) 。默认的实体管理器可以...
Doctrine是一个ORM(Object-relational mapper),提供php数据库和PHP对象的映射。他和其他的ORM一样都是为了保证持久层和逻辑层的分类而存在的。
What is Doctrine?....................................................................................................13 What is an ORM?....................................................................
Laravel开发-lumen-oauth2-doctrine https://github.com/nordsoftware/lumen-oauth2模块的条令存储连接器。
Doctrine Extensions - 一个Doctrine行为扩展集合。Translatable, Sluggable, Tree-NestedSet, Timestampable, Loggable, Sortable