ThinkPHP3.2框架自带分页功能实现方法示例

本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法。分享给大家供大家参考,具体如下:

1.前端-分页代码:

<tfoot>
<!--分页显示?-->
<tr>
  <td textalign="center" cl nowrap="true" colspan="9" height="20">
   <div class="pages">{$page}</div>
  </td>
</tr>
</tfoot>

2.创建分页样式:如page.css 并将以下代码复制到该文件中

.pages{float: right}
.pages a,.pages span {
  display:inline-block;
  padding:2px 10px;
  border:1px solid #f0f0f0;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  border-radius:3px;
  font-size: 14px;
}
.pages a,.pages li {
  display:inline-block;
  list-style: none;
  text-decoration:none; color:#58A0D3;
}
.pages a.first,.pages a.prev,.pages a.next,.pages a.end{
  margin:0 auto;
}
.pages a:hover{
  border-color:#50A8E6;
}
.pages span.current{
  background:#50A8E6;
  color:#FFF;
  font-weight:700;
  border-color:#50A8E6;
}

3.前端页面引入分页样式css文件

4.控制器中编写index方法,将数据显示到模板

方法(一):利用Page类和limit方法分页

<?php
namespace Admin\Controller;
use Think\Controller;
class DocController extends Controller{
  function index(){
    //实例化Doc数据表模型
    $doc = D('Doc');
    //调用count方法查询要显示的数据总记录数
    $count = $doc->count();
    //echo $count;die;
    $page = new \Think\Page($count,2);
    // 分页显示输出
    $show = $page->show();
    $this->assign('page',$show);
    // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
    $doc_list = $doc->limit($page->firstRow.','.$page->listRows)->select();
    $this->assign('doc_list',$doc_list);
    $this->display();
  }

方法(二):分页类和page方法的实现分页

<?php
namespace Admin\Controller;
use Think\Controller;
class DocController extends Controller{
  function index(){
    //实例化Doc数据表模型
    $doc = D('Doc');
    //进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
    $doc_list = $doc->page($_GET['p'] . ',2')->select();
    $this->assign('doc_list', $doc_list);// 赋值数据集
    $count = $doc->count();// 查询满足要求的总记录数
    $page = new \Think\Page($count, 2);// 实例化分页类 传入总记录数和每页显示的记录数
    $show = $page->show();// 分页显示输出
    $this->assign('page', $show);// 赋值分页输出
    $this->display(); // 输出模板
  }

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • thinkPHP3.2.3结合Laypage实现的分页功能示例

    本文实例讲述了thinkPHP3.2.3结合Laypage实现的分页功能.分享给大家供大家参考,具体如下: 控制器 <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { /** *@brief 查询 ****/ public function index(){ $choose = I('choose','-6'); $c['easy_hard'] = $c

  • thinkphp3.2.3 分页代码分享

    对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法 1.在公共函数Application/Common/Common/function.php中书写: function getpage($count,$pagesize=10) { $page=new Think\Page($count,$pagesize); $page->setConf

  • ThinkPHP3.2.3实现分页的方法详解

    本文实例讲述了ThinkPHP3.2.3实现分页的方法.分享给大家供大家参考,具体如下: 首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式. 我加了一些样式(不怎么好看),大家可以自行的再去改进分页样式,效果图: 在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common

  • thinkPHP5框架分页样式类完整示例

    本文实例讲述了thinkPHP5分页样式类.分享给大家供大家参考,具体如下: 在配置文件中改路径 把这段代码放入extend文件下 可以在这个文件下创建个page文件 在分页的控制器方法中 ->paginate(12,false,[ 'type'=> 'page\Page','var_page'=>'page']); <?php namespace page; // +---------------------------------------------------------

  • thinkphp框架page类与bootstrap分页(美化)

    bootstrap分样式使用方法这里写链接内容 <nav aria-label="Page navigation"> <ul class="pagination"> <li> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" re

  • Thinkphp3.2.3分页使用实例解析

    首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式. 我加了一些样式(不怎么好看),大家可以自行的再去改进分页样式,效果图: 在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下: <

  • thinkPHP5框架实现基于ajax的分页功能示例

    本文实例讲述了thinkPHP5框架实现基于ajax的分页功能.分享给大家供大家参考,具体如下: 最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法 首先看一下tp5的分页功能介绍 参数 描述 list_rows 每页数量 page 当前页 path url路径 query url额外参数 fragment url锚点 var_page 分页变量 type 分页类名 $caseDetails = CaseDetails::where(['status'=>1])

  • thinkPHP3.2实现分页自定义样式的方法

    本文实例讲述了thinkPHP3.2实现分页自定义样式的方法.分享给大家供大家参考,具体如下: 下面是一个Tp3.2的自定义分页,这个方法也是在看过一个网友的博客之后受到启发这么写的.经过了一些修改,大家在看到代码之后也可以进行修改自定义样式: 主要的样式控制文件就是page.css,框架底层的分页类可以直接进行粘贴复制使用: 1. 框架底层的page.class.php 路径( Engine\Library\Think) 其实这个文件不需要过多修改,也可以直接使用官方的就行:下面是我现在用的,

  • thinkPHP5框架实现分页查询功能的方法示例

    本文实例讲述了thinkPHP5框架实现分页查询功能的方法.分享给大家供大家参考,具体如下: controller文件内Admin.php <?php namespace app\admin\controller; use think\Controller; use app\admin\model\Admin as AdminModel; //使用分页类 取别名解决类名冲突 class Admin extends Controller{ public function lst(){ /* 分页开

  • ThinkPHP3.2框架自带分页功能实现方法示例

    本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法.分享给大家供大家参考,具体如下: 1.前端-分页代码: <tfoot> <!--分页显示?--> <tr> <td textalign="center" cl nowrap="true" colspan="9" height="20"> <div class="pages">{$page

  • thinkPHP多表查询及分页功能实现方法示例

    本文实例讲述了thinkPHP多表查询及分页功能实现方法.分享给大家供大家参考,具体如下: 项目业务逻辑为:教师上传试卷,设置答题卡,发布答题卡给相关的班级或群组,只有试卷关联的答题卡发布后,该试卷才能在系统试卷中搜索到,同时其他的老师也可以收藏.在前端的收藏模块中,有个业务是给个input框以提供搜索功能给用户,但是在事先设计的搜索表中,只有一处试卷ID是和试卷表关联的,如果用户搜索试卷题目那岂不要两表查询了,一开始我想到的方法是在收藏表中多加个字段,也就是把试卷题目的字段添加到收藏表中,业务

  • TP5框架实现自定义分页样式的方法示例

    本文实例讲述了TP5框架实现自定义分页样式的方法.分享给大家供大家参考,具体如下: 1. 在extend\目录下创建page目录,在page目录下创建Page.php文件,将以下代码放入文件中. <?php namespace page; use think\Paginator; class Page extends Paginator { //首页 protected function home() { if ($this->currentPage() > 1) { return &q

  • Bootstrap table 服务器端分页功能实现方法示例

    本文实例讲述了Bootstrap table 服务器端分页功能实现方法.分享给大家供大家参考,具体如下: bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端bootstrap+jQuery,服务端使用spring MVC实现restful风格服务 前端代码块 <table id="test-table" class="col-xs

  • Yii2.0框架实现带分页的多条件搜索功能示例

    本文实例讲述了Yii2.0框架实现带分页的多条件搜索功能.分享给大家供大家参考,具体如下: 方法一 在控制器中 public function actionShow(){ $where['title']=Yii::$app->request->get('title'); $where['content']=Yii::$app->request->get('content'); $query=new Query(); $query->from('votes'); // vote

  • 浅谈layui框架自带分页和表格重载的接口解析问题

    首先要了解框架分页自带的参数有哪些,特别是注意参数名称要和后台一致! **需要注意的是layui框架的数据解析格式问题,data必须是个数组对象的形式才能正常解析否则会很麻烦(亲测过非正常解析,手写js手动动态添加表格) data 格式例如: { "count": 11, "code": 0, "msg": "", "data": [ { "id": "1", &qu

  • Yii框架引入coreseek分页功能示例

    本文实例讲述了Yii框架引入coreseek分页功能.分享给大家供大家参考,具体如下: 把sphinxapi.php改为SphinxClient.php 类文件随便放,你能找到就行,我放在advanced/frontend/web/SphinxClient.php,打开common/config/bootstrap.php 在里面添加 Yii::$classMap['SphinxClient']='@frontend/web/SphinxClient.php'; 地址写正确 在需要用得控制其中

  • thinkphp5框架前后端分离项目实现分页功能的方法分析

    本文实例讲述了thinkphp5框架前后端分离项目实现分页功能的方法.分享给大家供大家参考,具体如下: 方法一 利用tp5提供的paginate方法实现自动分页 参数 page第几页,paginate分页方法会自动获取 size  每页数量 代码 /** * Notes:消费记录 * Date: 2019/6/25 * Time: 15:43 * @param Request $request * @return \think\response\Json */ public function g

  • thinkPHP5分页功能实现方法分析

    本文实例讲述了thinkPHP5分页功能实现方法.分享给大家供大家参考,具体如下: 其实分页自身的内容也不是很多.不过牵扯到样式的问题感觉挺烦.于是找到了分页类看了一下.把大体的结构说一下.如果有需要修改页面样式的可以自行修改样式.最好提前备份,防止意外. 首先是分页的调用,tp5的调用相对非常容易 $mod = new \app\index\model\Blogmsg(); $mo = $mod->paginate(1,14); $this->assign('list', $mo); //

随机推荐