thinkphp怎么把搜索结果分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp怎么把搜索结果分页相关的知识,希望对你有一定的参考价值。
参考技术A 查询的时候加上page(页码,每页数量) 参考技术B // 用来获取当前用户的买入订单public function TradingList($p = null)
$p = intval($p) ? intval($p) : 1;
$pageSize = 15;
$offset = ($p - 1) * $pageSize;
$db = M('rebate_trading');
$TradingList = $db->where(array('userid' => XAAKE))->order('time')->limit($offset, $pageSize)->select();
$count = count($db->where(array('userid' => XAAKE))->select());
$page = new \\Think\\Page($count, $pageSize);
$page = $page->show();
$this->assign('page', $page);
$this->assign('TradingList', $TradingList);
$this->pagetitle = '已买入订单';
$this->display();
上面是没有传递查询参数的如果 你要传递查询参数的话,请看下述代码
// 用来获取搜索字段为field的,当前用户的买入订单public function TradingList($field = null,$p = null)
$field ? $where['field'] = array('eq',$field) : '';
$where['userid'] = array('eq',XAAKE);
$p = intval($p) ? intval($p) : 1;
$pageSize = 15;
$offset = ($p - 1) * $pageSize;
$db = M('rebate_trading');
$TradingList = $db->where($where)->order('time')->limit($offset, $pageSize)->select();
$count = count($db->where($where)->select());
$page = new \\Think\\Page($count, $pageSize);
$page = $page->show();
$this->assign('page', $page);
$this->assign('TradingList', $TradingList);
$this->pagetitle = '已买入订单';
$this->display();
本回答被提问者采纳
TP分页
①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝进入
②通过new 实例化方式调用 $page=new \\Home\\Publics\\Page($total,3);
注意分页的方法有两种:一种是thinkphp3.2 自带的 另一种是之前新闻页用过的 显示效果稍有差别
细节问题:
①搜索页面 要加session判断 和 分页
②修改和添加页面需要有session判断
③增删改的权限设置
控制器端:
<?php namespace Home\\Controller; use Think\\Controller; class UserController extends Controller { public function User(){ if (session(\'?username\')) { $m=M(\'fruit\'); //$arr=$m->select(); //var_dump($arr); $total=$m->count(); //$this->assign(\'data\',$arr); $this->assign(\'sess\',session(\'username\')); $page=new \\Home\\Publics\\Page($total,3); //$page->limit;//limit n,n $sql="select * from fruit ".$page->limit; $lim=$m->query($sql); $pagelist=$page->fpage(); $this->assign(\'data\',$lim); $this->assign(\'list\',$pagelist); $this->display(); } else{ $this->redirect(\'Login/Login\'); }
}
前端显示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>业务</title> <style type="text/css"> a:link { text-decoration: none; } </style> <script type="text/javascript"> function jump(){ window.location="/tp/index.php/Home/Add/Add"; } </script> <style type="text/css"> #se{ float: left; position: absolute; margin-left: 150px; } </style> </head> <body><div id=\'se\'><{$sess}> 您好!</div> <div align="center" display:inline style="width: 1380px;"> <h1>业务主页</h1> <form action="__URL__/search" method="post"> <b>查询</b> 序号:<input type="text" name="ids"> 名称:<input type="text" name="name"> 价格:<input type="text" name="price"> 产地:<input type="text" name="source"> <input type="submit" value="搜索"></input> </form></div><br> <table border="1" width="1000" align="center"> <tr> <th>序号</th> <th>名称</th> <th>价格</th> <th>产地</th> <th>操作</th> </tr> <volist name=\'data\' id=\'vo\'> <tr> <td><{$vo.ids}></td> <td><{$vo.name}></td> <td><{$vo.price}></td> <td><{$vo.source}></td> <td><a href="/tp/index.php/Home/User/del/ids/<{$vo.ids}>">删除</a> | <a href="/tp/index.php/Home/User/modify/ids/<{$vo.ids}>">修改</a></td> </tr> </volist> </table> <div align="center"><{$list}></div> <br> <center> <button onclick="jump()">添加数据</button> </center> </body> </html>
以上是关于thinkphp怎么把搜索结果分页的主要内容,如果未能解决你的问题,请参考以下文章
thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?
2016/05/17 thinkphp3.2.2 分页的使用:①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝