layui排序功能
后台常用功能之排序!!!

一次只能排一个序!!!
基本样式
<tr>
<th>序号<span class="layui-table-sort layui-inline" id="id_sort"
lay-sort="{$id_sort}"><i class="layui-edge layui-table-sort-asc"
title="升序"></i><i class="layui-edge layui-table-sort-desc"
title="降序"></i>
</span>
</th>
<th>操作
</th>
<th>名称</th>
<th>显示</th>
<th>创建日期
<span class="layui-table-sort layui-inline" id="create_time_sort"
lay-sort="{$create_time_sort}"><i
class="layui-edge layui-table-sort-asc" title="升序"></i><i
class="layui-edge layui-table-sort-desc" title="降序"></i>
</span>
</th>
</tr>
点击事件
// 排序
$("#id_sort").on('click', function () {
let sort = $(this).attr('lay-sort');
sort = deal_sort_val(sort);
// 清理其他的排序值
$(".layui-table-sort").attr('lay-sort','');
$(this).attr('lay-sort',sort);
let search_str = get_search();
window.location.href = '__URL__/index?page=' + 1 + search_str;
});
$("#create_time_sort").on('click', function () {
let sort = $(this).attr('lay-sort');
sort = deal_sort_val(sort);
$(".layui-table-sort").attr('lay-sort','');
$(this).attr('lay-sort',sort);
let search_str = get_search();
window.location.href = '__URL__/index?page=' + 1 + search_str;
});
处理排序的逻辑
/**
* 处理排序
*/
function deal_sort_val(sort) {
if (!sort) {
sort = 'desc'; // 默认改为降序
} else {
if (sort == 'desc') {
sort = 'asc';
} else {
sort = 'desc';
}
}
return sort;
}
结合搜索的处理
function get_search() {
let start = $("#start").val();
let end = $("#end").val();
let search_str = '';
if (start) search_str += '&start=' + start;
if (end) search_str += '&end=' + end;
// sort
let id_sort = $('#id_sort').attr('lay-sort');
let create_time_sort = $('#create_time_sort').attr('lay-sort');
if (id_sort) search_str += '&id_sort=' + id_sort;
if (create_time_sort) search_str += '&create_time_sort=' + create_time_sort;
return search_str;
}
后端逻辑
// search
$where['deleted'] = 0;
if ($_GET['start'] && $_GET['end']) {
$where['create_time'] = ['between', [strtotime($_GET['start']), strtotime($_GET['end'].' 23:59')]];
$this->assign('start', $_GET['start']);
$this->assign('end', $_GET['end']);
}
if ($_GET['start'] && !$_GET['end']) {
$where['create_time'] = ['gt', strtotime($_GET['start'])];
$this->assign('start', $_GET['start']);
}
if (!$_GET['start'] && $_GET['end']) {
$where['create_time'] = ['lt', strtotime($_GET['end'].' 23:59')];
$this->assign('end', $_GET['end']);
}
// sort
$sort = 'id desc';
if ($_GET['id_sort']) {
$sort = 'id '.$_GET['id_sort'];
$this->assign('id_sort', $_GET['id_sort']);
}
if ($_GET['create_time_sort']) {
$sort = 'create_time '.$_GET['create_time_sort'];
$this->assign('create_time_sort', $_GET['create_time_sort']);
}
$article_type = M('article_type');
$result_list = $article_type->where($where)->limit($start . ',' . $step)->order($sort)->select();
后台常用功能有哪些呢?
搜索,排序,导入,导出,新增,修改,删除,查看详情,以及直接修改,温馨提示等等。
layui排序功能的更多相关文章
- 禁用datagridview中的自动排序功能
把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...
- ListBox实现拖拽排序功能
1.拖拽需要实现的事件包括: PreviewMouseLeftButtonDown LBoxSort_OnDrop 具体实现如下: private void LBoxSort_OnPreviewMou ...
- 简单实现Redis缓存中的排序功能
1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发 ...
- Java实现中文字符串的排序功能
package test; /** * * @Title 书的信息类 * @author LR * @version 1.0 * @since 2016-04-21 */ public class B ...
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能 由于MYSQL没有提供类似ORACLE中OVER()这样丰富的分析函数. 所以在MYSQ ...
- nls_sort和nlssort 排序功能介绍
nls_sort和nlssort 排序功能介绍 博客分类: oracle ALTER SESSION SET NLS_SORT=''; 排序影响整个会话 Oracle9i之前,中文是按照二进制编码 ...
- [WPF]ListView点击列头排序功能实现
[转] [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...
- MVC5 Entity Framework学习参加排序、筛选和排序功能
上一篇文章实现Student 基本的实体CRUD操作.本文将展示如何Students Index页添加排序.筛选和分页功能. 以下是排序完成时.经过筛选和分页功能截图,您可以在列标题点击排序. 1.为 ...
- YII关联字段并带搜索排序功能
1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...
随机推荐
- Android App压力测试方法(Monkey)
一.为什么要开展压力测试 a.提高产品的稳定性:b.提高产品的留存率 二.什么时候开展压力测试 a.首轮功能测试通过后:b.下班后的夜间进行 三.7个基础知识(理论部分) 3.1 手动测试场景与自动测 ...
- 结对编程作业(java)
结对对象:许峰铭 一.Github项目地址:https://github.com/Leungdc/Leungdc/tree/master/%E5%9B%9B%E5%88%99%E8%BF%90%E7% ...
- Linux CentOS 防止SSH暴力破解
一. 问题的发现 昨晚苦逼加班完后,今早上班继续干活时,SSH连接服务器发现异常的提示,仔细看了一下吓一小跳,昨晚9点钟到现在,一夜之间被人尝试连接200+,慌~~~ 1. 速度查一下log [roo ...
- Django框架(十七)-- CBV源码分析、restful规范、restframework框架
一.CBV源码分析 1.url层的使用CBV from app01 import views url(r'book/',views.Book.as_view) 2.as_view方法 as_view是 ...
- JS高阶---原型链
[大纲] [主体] 1.创建函数 注意:Object内置原生对象原来就有 2.添加实例方法 3.根据构造函数创建实例对象 原型链寻找 1.本身有在本身找 2.本身没有往摸着隐式原型链往里找 或者再上层 ...
- 201777010217-金云馨《面向对象程序设计(java)》第十六周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 张兴盼-201871010131《面向对象程序设计(Java)》第七周学习总结
张兴盼-201871010131<面向对象程序设计(Java)>第七周学习总结 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个 ...
- 201871010134-周英杰《面向对象程序设计(java)》第十五周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...
- django学习-数据库操作接口API--(CRUD)
初试API(数据库操作接口CRUD) 现在我们进入交互式python命令行,尝试一下django为你创建的各种API,通过以下命令打开python命令行: py -3 manage.py shell进 ...
- 【Spring IoC】IoC介绍(一)
IoC(Inversion of Control)的职责:原先由程序员主动通过new实例化对象这个事情,现在交由Spring负责,即由IoC容器负责. Spring 容器是 Spring 框架的核心. ...