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(){
/* 分页开始  */
    $list = AdminModel::paginate(3);
    $this -> assign('list',$list);
/* 结束 */
    return $this->fetch('lst');
  }
  public function add(){
    //判断页面是否提交
    if(request()->isPost()){
      //打印接收到的参数
      //dump(input('post.'));
      $data = [  //接受传递的参数
        'username' => input('username'),
        'password' => md5(input('password')),
      ];
/*验证开始*/
      $validate = \think\Loader::validate('Admin');
            /* scene('add') 在add页面添加验证应用  */
      if(!$validate -> scene('add')-> check($data)){
        /* 验证失败打印 */
        $this -> error($validate->getError());
        die;
      }
/*结束*/
    /* Db('表名') 数据库助手函数*/
      if(Db('admin') -> insert($data)){    //添加数据
        return $this->success('添加成功','lst'); //成功后跳转 lst 界面
      }else{
        return $this->error('添加管理员失败');
      }
      return;
    }
    return $this->fetch('add');
  }
}

model文件内Admin.php

<?php
namespace app\admin\model;
use think\Model;
class Admin extends Model{
}

lst.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>后台</title>
    <style type="text/css">
      *{
        padding: 0;
        margin: 0;
      }
      table{
        width: 500px;
        margin: auto;
      }
      .pagination li{
        margin: 10px;
        float: left;
        list-style: none;
      }
    </style>
  </head>
  <body>
    <div>我是lst</div>
    <a href="{:url('admin/add')}" rel="external nofollow" >跳转add</a>
    <table border="1" cellspacing="" cellpadding="">
      <tr>
        <th>ID</th>
        <th>用户名</th>
        <th>操作</th>
      </tr>
      <!-- 循环数据  -->
      {volist name="list" id="vo"}
        <tr>
          <td>{$vo.id}</td>
          <td>{$vo.username}</td>
          <td>Data</td>
        </tr>
      {/volist}
    </table>
    <!-- 分页器 -->
    {$list ->render()}
  </body>
</html>

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

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

您可能感兴趣的文章:

  • thinkPHP5使用laypage分页插件实现列表分页功能
  • thinkPHP5分页功能实现方法分析
  • ThinkPHP5查询数据及处理结果的方法小结
  • thinkPHP5实现的查询数据库并返回json数据实例
  • ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
  • thinkPHP多表查询及分页功能实现方法示例
  • thinkPHP使用post方式查询时分页失效的解决方法
  • thinkPHP5框架数据库连贯操作之cache()用法分析
(0)

相关推荐

  • ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解

    本文实例讲述了ThinkPHP5联合(关联)查询.多条件查询与聚合查询.分享给大家供大家参考,具体如下: 一.联合(关联)查询 1. 项目表 DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) N

  • thinkPHP5实现的查询数据库并返回json数据实例

    本文实例讲述了thinkPHP5实现的查询数据库并返回json数据.分享给大家供大家参考,具体如下: TP5 实现查询数据库返回json数据(返回json数据函数实例) 返回结果: 复制代码 代码如下: {"code":0,"msg":"\u6570\u636e\u8fd4\u56de\u6210\u529f","count":1000,"data":[{"id":617,"t

  • thinkPHP5使用laypage分页插件实现列表分页功能

    一.背景 在使用thinkPHP框架做项目的时候,经常会遇到对列表的内容进行分页.thinkPHP框架中自带了分页功能,但是有缺陷.这个缺陷是每次返回每页数据给页面时需要重新加载页面所需要的JS.CSS等资源.如果页面包含的JS过多.过大,会增加流量压力.因此,我们使用laypage插件.每次使用ajax请求获取每页的数据就可以了,不需要重复加载页面. 二.分页流程 如下图所示: 流程说明: 1) 调研App.php中的函数,该函数调用fetch函数.fetch函数渲染list.html.   

  • ThinkPHP5查询数据及处理结果的方法小结

    本文实例讲述了ThinkPHP5查询数据及处理结果的方法.分享给大家供大家参考,具体如下: 在处理数据库查询结果时遇到了些问题,记录下用到过的几种查询方式和结果处理. 1. 查询某条记录 $where=array( "version_id"=>$version_id ); $data = model("PackageWhitelist")->where($where)->find(); $this->assign("package_

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

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

  • thinkPHP5框架数据库连贯操作之cache()用法分析

    本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法.分享给大家供大家参考,具体如下: 介绍 TP5中自带的缓存系统,是File型缓存.也就是文件型缓存.存储地址是:根目录\..\runtime\cache(根目录指public). 这个缓存系统相较于redis,memcached肯定有局限性的,自动更新以及缓存数据的复杂程度上有区别.但是对于一些简单的查询等还有很有帮助的.比如文章等这些内容使用起来还是不错的. cache可以用于select.find.value和colum

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

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

  • thinkPHP使用post方式查询时分页失效的解决方法

    本文实例讲述了thinkPHP使用post方式查询时分页失效的解决方法.分享给大家供大家参考,具体如下: 昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢各位大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进

  • 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(){ /* 分页开

  • YII2框架中分页组件的使用方法示例

    本文实例讲述了YII2框架中分页组件的使用方法.分享给大家供大家参考,具体如下: 当数据过多,无法一页显示时,我们经常会用到分页组件,YII2中已经帮我们封装好了分页组件. 首先我们创建操作数据表的AR模型: <?php namespace app\models; use yii\db\ActiveRecord; class MyUser extends ActiveRecord { public static function tableName() { return '{{%user}}';

  • SpringBoot分页查询功能的实现方法

    目录 前言: 首先是手动实现分页查询: 接下来是关联前端分页和后台数据: 总结 前言: 学习了SpringBoot分页查询的两种写法,一种是手动实现,另一种是使用框架实现.现在我将具体的实现流程分享一下. 首先是手动实现分页查询: 先复习一下,SQL中的limit关键字,下面一行sql语句的意思是从第二个数据开始查,查询出两条数据 SELECT * FROM sys_user limit 1,2; 使用limit前一个参数pageNum是从第几个数据开始查,后一个参数pageSize是查询多少条

  • ssm框架+PageHelper插件实现分页查询功能

    通过搭建ssm框架,然后通过mybatis的分页插件pagehelp进行分页查询. 源码:https://gitee.com/smfx1314/pagehelper 看一下项目结构: 首先创建一个maven工程,pom中引入相关jar包 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId&

  • JPA多条件复杂SQL动态分页查询功能

    概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 springBoot IDEA2017.3.4 JDK8 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0&q

  • ajax实现分页查询功能

    ajax分页查询功能的具体代码,供大家参考,具体内容如下 显示的效果如下: 实现效果的代码如下: 1.fenye.php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <link type="text/css" rel=

  • Laravel5中实现模糊匹配加多条件查询功能的方法

    本文实例讲述了Laravel5中实现模糊匹配加多条件查询功能的方法.分享给大家供大家参考,具体如下: 方法1. ORM模式 public function ReportAccurate($data) { if(is_array($data)) { $where = $this->whereAll($data); return $where; } else { return false; } } /*多条件模糊*/ public function whereAll($data) { $query

  • Django框架实现分页显示内容的方法详解

    本文实例讲述了Django框架实现分页显示内容的方法.分享给大家供大家参考,具体如下: 分页 1.作用 数据加载优化 2.前端引入bootstrap样式: {# 引入bootstrap样式的cdn资源 #} <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">

  • thinkPHP5框架中widget的功能与用法详解

    本文实例讲述了thinkPHP5框架中widget的功能与用法.分享给大家供大家参考,具体如下: 注意:使用助手函数return view()渲染,则挂件功能会失败,必须使用return $this->fetch() 我们在使用模板的时候,一般网站的顶部(比如说导航栏,或者用户登录区域等等),以及网站的尾部footer(比如友情链接或者版权说明等等),和body区域,我们会为了简化代码,都会将这三个部分剖开分离,然后通过模板继承的方式来使用. 但是如果顶部和尾部只是单纯的html代码还好说,但是

  • MyBatis Plus 实现多表分页查询功能的示例代码

    在Mybatis Plus 中,虽然IService 接口帮我们定义了很多常用的方法,但这些都是 T 对象有用,如果涉及到 多表的查询,还是需要自定义Vo 对象和自己编写sql 语句,Mybatis Plus提供了一个Page 对象,查询是需要设置其中的 size 字段 和 current 字段的值 一.分页配置 可以直接使用selectPage这样的分页,但返回的数据确实是分页后的数据,但在控制台打印的SQL语句其实并没有真正的物理分页,而是通过缓存来获得全部数据中再进行的分页,这样对于大数据

随机推荐