内容简介:ThinkPHP3.2分页显示,超详细,超简单
第一步:导入类
下载AjaxPage.class.PHP
我这里的提供的是之前3.1时候用的,在3.2用的时候需要在类里面加个
命名空间
Paste_Image.png
这个类放在
Think<a href="https://www.52bz.la/tag/php" title="PHP" target="_blank">PHP</a>
–
Library
–
Org
–
Util
路径下
Paste_Image.png
第二步:PHP里该写的代码
ProductController
是我建的产品类
class ProductController extends PublicController{ public function index() { //导入三方库 // 查询满足要求的总记录数 $count = $this->model->count(); //创建对象,指定对象执行的方法 $Page = new /Org/Util/AjaxPage($count,7,"productPage");//productPage是调用js中方法,通过该方法给js传递页码值,7代表一页显示7条数据 // 实例化分页类 传入总记录数和每页显示的记录数 $show = $Page->show();// 分页显示输出 // 进行分页数据查询 注意limit方法的参数要使用Page类的属性 $list = $this->model->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select(); //判断是不是ajax, if (!IS_AJAX){ $this->assign('result',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->view(); // 输出模板 }else{ $data['result']=$list; $data['page'] = $show; $this->ajaxReturn($data); } } //编辑产品 public function edit(){ //进入编辑页面,显示待编辑的信息 if (!empty($_GET)){ $result = $this->model->where($_GET)->find(); $this->assign('result',$result); } //编辑完提交,保存,跳转回首页 if (!empty($_POST)){ $id = $_POST['id']; $result = $this->model->where("id=$id")->save($_POST); //0表示保存失败 if ($result != 0){ redirect('index'); } } $this->view(); } //删除产品 public function delete(){ $id = $_GET['id']; $result = $this->model->where("id=$id")->delete(); if ($result != 0){ $this->redirect('index'); } } }
3.2的写法
3.1的写法
page输出显示是这样的
result输出显示是这样的
第三步:HTML该写的代码,把assign过来的数据赋值到td上
下面是对应的代码
<table class="table table-bordered table-striped table-hover"> <thead> <tr> <th>NO</th> <th>产品名称</th> <th>单价</th> <th>备注</th> <th>操作</th> </tr> </thead> <tbody id="neirong"> <foreach name="result" item="val"> <tr class="cen"> <td>{$val.no}</td> <td><a href="#">{$val.pro_name}</a></td> <td>{$val.price}</td> <td>{$val.remark}</td> <td> <button class="btn btn-primary" onclick="edit({$val.id})">编辑</button> <button class="btn btn-danger" onclick="del({$val.id})">删除</button> </td> </tr> </foreach> </tbody> </table> <div class="panel panel-default"> <div class="panel-bd"> <div class="pagination">{$page}</div> </div> </div>
解释下关键代码:
<tbody id="neirong">
这里设置个id,在js里面会用到
<foreach name="result" item="val">
foreach为tp的标签,遍历数组用的,
name
对应数据源,
item
是循环变量
<button class="btn btn-primary" onclick="edit({$val.id})">编辑</button>
edit是写在js里的方法,根据id编辑内容
<button class="btn btn-danger" onclick="del({$val.id})">删除</button>
del是写在js里的方法,根据id删除内容
<div class="pagination">{$page}</div>
{$page}是显示1,2,3分页码的,这个class类后面js会用到
第四步:完成前三步,首页的信息肯定可以显示出来了,但是点击页码没有反应,这时候,我们需要在js里面请求新的数据
<script> //点击页码,重新请求数据 function productPage(id) { var url = ''; url = '__APP__/home/product/index/p/'+id; $.get(url,function (content) { //重写html代码 //将pagination div重写一遍 //将json转成对象类型 //var data = eval('('+content+')'); //强制将json转成对象类型 var data = content; //输出页码 $('.pagination').html(data.page); var l = ''; for (var i = 0; i < data.result.length; i++){ l += '<tr class="cen">'; l += '<td>'+ data.result[i].no +'</td>'; l += '<td>'+ data.result[i].pro_name +'</td>'; l += '<td>'+ data.result[i].price +'</td>'; l += '<td>'+ data.result[i].remake +'</td>'; l += '<td><button class="btn btn-primary" onclick="edit('+ data.result[i].id +')">编辑</button><button class="btn btn-danger" onclick="del('+ data.result[i].id +')">删除</button></td>'; l += '</tr>'; } //重新输出整个表格 $('#neirong').html(l); }); } //点击编辑按钮 function edit(id) { window.location.href='__APP__/home/product/edit/id/'+id; } //点击删除按钮 function del(id) { if(confirm("您确定要删除么!")){ window.location.href='__APP__/home/product/delete/id/'+id; } } </script>
解释下关键代码:
function productPage(id) {
这是我们 PHP 代码
$Page = new /Org/Util/AjaxPage($count,7,"productPage")
里的方法
url = '__APP__/home/product/index/p/'+id;
p参数为页码,
//var data = eval('('+content+')'); //强制将json转成对象类型
这里是注释,没错.建议在这步alert一下content,看看有没有数据,没有就打开这段代码试试.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 超大7k高清显示器显示网页解决方案
- Web 富文本编辑器 Neditor 2.1.13 发布,修复字体显示区显示“none” 的问题
- 树莓派显示天气信息
- 如何显示随机信息?
- iOS图像显示原理
- Toast 不显示了?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解Java虚拟机(第2版)
周志明 / 机械工业出版社 / 2013-9-1 / 79.00元
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干......一起来看看 《深入理解Java虚拟机(第2版)》 这本书的介绍吧!