Thinkphp列表搜索排序-----查

一、控制器

// 列表
    public function lst()
    {
        $model = D(‘Goods‘);
        // 获取带翻页的数据
        $data = $model->search();
        $this->assign(array(
            ‘data‘ => $data[‘data‘],
            ‘page‘ => $data[‘page‘],
        ));

        $this->display();
    }

二、模型中数据的查询

public function search()
    {
        /************ 搜索 ****************/
        $where = array();
        // 商品名称的搜索
        $goodsName = I(‘get.goods_name‘);
        if($goodsName)
            $where[‘goods_name‘] = array(‘like‘, "%$goodsName%");
        // 价格的搜索
        $startPrice = I(‘get.start_price‘);
        $endPrice = I(‘get.end_price‘);
        if($startPrice && $endPrice)
            $where[‘price‘] = array(‘between‘, array($startPrice, $endPrice));
        elseif ($startPrice)
            $where[‘price‘] = array(‘egt‘, $startPrice);
        elseif ($endPrice)
            $where[‘price‘] = array(‘elt‘, $endPrice);
        // 上架的搜索
        $isOnSale = I(‘get.is_on_sale‘, -1);
        if($isOnSale != -1)
            $where[‘is_on_sale‘] = array(‘eq‘, $isOnSale);
        // 是否删除的搜索
        $isDelete = I(‘get.is_delete‘, -1);
        if($isDelete != -1)
            $where[‘is_delete‘] = array(‘eq‘, $isDelete);
        /***************** 排序 ******************/
        $orderby = ‘id‘;  // 默认排序字段
        $orderway = ‘asc‘; // 默认排序方式
        $odby = I(‘get.odby‘);
        if($odby && in_array($odby, array(‘id_asc‘,‘id_desc‘,‘price_asc‘,‘price_desc‘)))
        {
            if($odby == ‘id_desc‘)
                $orderway = ‘desc‘;
            elseif ($odby == ‘price_asc‘)
                $orderby = ‘price‘;
            elseif ($odby == ‘price_desc‘)
            {
                $orderby = ‘price‘;
                $orderway = ‘desc‘;
            }
        }
        /************ 翻页 *************/
        // 总的记录数
        $count = $this->where($where)->count();
        // 生成翻页对象
        $page = new \Think\Page($count, 2);
        // 获取翻页字符串
        $pageString = $page->show();
        // 取出当前页的数据
        $data = $this->where($where)->limit($page->firstRow.‘,‘.$page->listRows)->order("$orderby $orderway")->select();

        //echo $this->getLastSql();

        return array(
            ‘page‘ => $pageString,
            ‘data‘ => $data,
        );
    }
时间: 2024-10-08 04:13:32

Thinkphp列表搜索排序-----查的相关文章

week_one-python基础 列表 增删改查

# Author:larlly'''#列表增删改查#定义列表name = ["wo","ni","ta","wo"] #定义列表num_list = list(range(1,10)) #range生成范围的数,强制转化为列表#查print(num_list)print(name[0])print(name[0:2]) #顾头不顾尾print(name[-1])print(name[:]) #取所有值print(name[-3

这就是搜索引擎--读书笔记八--检索模型与搜索排序

检索模型与搜索排序 前言 搜索结果排序是搜索引擎最核心的构成部分,很大程度上决定了搜索引擎的质量好坏以及用户接受与否.尽管搜索引擎在实际结果排序时融合了上百种排序因子,但最重要的两个因素还是用户查询和网页的内容相关性及网页链接情况.那么,我们得到用户搜索词之后,如何从内容相关性的角度上对网页进行排序输出呢? 判断网页内容是否与用户查询相关,这依赖于搜索引擎所采用的检索模型.搜索引擎的核心是判断哪些文档是和用户需求相关的,并按照相关程度排序输出,所以相关程度计算是将用户查询和文档进行匹配的过程,而

Python list列表的排序

当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函数了,可以直接对列表进行排序 用法: list.sort(func=None, key=None, reverse=False(or True)) 对于reverse这个bool类型参数,当reverse=False时:为正向排序:当reverse=True时:为方向排序.当然默认为False. 执

no-jQuery 列表<li>排序插件 -- Sortable.js

项目里用到这个列表排序插件,比较好用,不依赖jQuery,另源码也有很多可借鉴的地方,故推荐给大家试试. 官方网站: http://rubaxa.github.io/Sortable/ Sortable Features Support touch devices and modern browsers Built using native HTML5 drag and drop API Simple API Lightweight, 2KB gzipped No jQuery Usage <u

Python List sort()方法-用于对原列表进行排序

描述 sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数. 语法 sort()方法语法: list.sort([func]) 参数 func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序. 返回值 该方法没有返回值,但是会对列表的对象进行排序. 实例 以下实例展示了 sort()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.sort(); p

iRSF快速简单易用的实现列表、排序、过滤功能

IRSF 是由javascript编写,iRSF快速简单易用的实现列表.排序.过滤功能(该三种操作以下简称为 RSF ). iRSF由三个类组成. iRSFSource 数据源 iRSFFilter 过滤器 iRSFSorter 排序器 iRSF 使用: iRsf = new iRSF(); iRsf.draw = function(data){ //展现列表,data的结构为{property:[{data1},{data2}]},* property 可以自定义,由iRSFSource 指定

2019年6月12日——开始记录并分享学习心得——Python3.7中对列表进行排序

Python中对列表的排序按照是排序是否可以恢复分为:永久性排序和临时排序. Python中对列表的排序可以按照使用函数的不同可以分为:sort( ), sorted( ), reverse( ). 下边具体介绍一下这三种函数的使用: 1. 使用sort( )对列表进行永久性排序 my_love = ['sleep', 'weekend', 'games', 'learning', 'travel'] # 定义一个列表my_love.sort() # 对列表按照字母顺序永久性排序print(my

python3-list列表增删改查合并排序

# Auther: Aaron Fan names = ["aaron", "alex", "james", "meihengfan"]names2 = [1,2,3,4,5]print(names) #查#print(names) #列出列表的内容print(names[3]) #访问列表中第4个值print(names[1:3]) #访问列表中从第2个到第3个的值print(names[-1]) #访问列表中的最后一个值p

自定义类签发校验token-实现多方式登录-自定义反爬类-admin后台表管理字段自定义-群查接口-搜索-排序-分页

目录 复习 今日 签发token 校验token 案例:实现多方式登陆签发token 案例:自定义认证反爬规则的认证类 admin使用自定义User表:新增用户密码密文 群查接口各种筛选组件数据准备 drf搜索过滤组件 drf排序过滤组件 drf基础分页组件 复习 """ 频率组件:限制接口的访问频率 源码分析:初始化方法.判断是否有权限方法.计数等待时间方法 自定义频率组件: class MyThrottle(SimpleRateThrottle): scope = 'sm