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>&nbsp;&nbsp;&nbsp; 序号:<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原生查询时,查询结果怎么分页,具体代码应该怎么写?

thinkphp5 Ajax搜索分页

php 查询结果分原网页显示并分页

ThinkPHP 怎么结合Bootstrap进行分页

2016/05/17 thinkphp3.2.2 分页的使用:①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝

TP分页