JQueryMiniUI按照时间进行查询的实现方法

考核的事情已经变成了上一年了,当时要做一个图书管理系统,但是当时因为在按照时间进行搜索的时候,无法将前台的数据传递到后台,所以失去了一部分,现在重看,其实也不过尔尔,反而然我有一种只是当时枉然的意味。好了,那么如何将前台的时间数据传递到后台,其实如果是普通的传递倒也是无所谓的,因为有特殊的功能是在搜索的时候实现

所以要在加载页面的时候传递数据,jQuery-MINI UI如何实现:

其实我们要要做的事情是将数据显示到表格中,那么我们就要看一开始是如何实现的:

前台千篇一律如此:

<div id="datagrid1" class="mini-datagrid" style="width: 1000px; height: 280px;"
    url="../index?method=listAll" idField="id" multiSelect="true" sizeList="[5,10,15]" pageSize="10"
    >
    <div property="columns">
      <div type="checkcolumn"></div>
      <div type="indexcolumn">序号</div>
      <div field="bookGuid" width="60" headerAlign="center" allowSort="true">图书编号</div>
      <div field="bookName" width="60" headerAlign="center" allowSort="true">图书名称</div>
      <div field="bookType" class="mini-combobox" width="60" renderer="onTypeRenderer">图书类别</div>
      <div field="suitable" width="60" renderer="onSuitRenderer">适合人群</div>
      <div field="buyDate" width="150" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">入库日期</div>
      <div field="count" width="60" style="color:red">借阅次数</div>
      <div field="remark" width="60" style="color:red">备注</div>
      <div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">操作</div>
    </div>
  </div> 

上面是我们的表格显示的内容,mini-ui在页面进行加载的时候就会初始化表格所以说在div中我们有一个url属性,也就是告诉我们数据的来源

url="../index?method=listAll" 

在页面进行加载的时候回调用listAll这个方法,我们进行搜索的时候也会去调用这个方法,但是我们会传递数据到后台

那么在js重我们该如何编写,首先我们来看看不需要传递数据到到后台,怎样来加载这个表格

var grid = mini.get("datagrid1");
    grid.load(); 

那么我们在点击搜索的时候,是不是要进行传递数据到后台:

function search() {
      var type1 = mini.get("type1").getValue();
      var date1=mini.get("date1").getValue();
      var timestamp = Date.parse(date1);
      grid.load({
        type1:type1,
        timestmp:timestamp 

      });
    } 

按照上面我们就可以在后台的listAll中对接收到的数据进行判断,然后显示对应的数据

这个地方有一个特点时间的传递并不是按照yyyy-MM-dd这种格式,而是利用时间戳传递到后台,也就是说传递的是一个long类型是数据,我们来看一看后台是怎样进行接收的

public void listAll(HttpServletRequest request, HttpServletResponse response) throws Exception{
  String type=request.getParameter("type1");
    String lstr=request.getParameter("timestmp");
  long time=0;
  if(lstr!=null && isNumeric(lstr)){
    time=Long.parseLong(lstr);
  }
  Date date1=new Date();
  date1.setTime(time);
  Date date2=new Date();
  date2.setTime(time+24*60*60*1000);
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  String sql="select * from bookinfo";
  if(type!= null && type.length()>0 && time==0)
  {
    sql="select * from bookinfo where booktype="+Integer.parseInt(type);
  }
  else if(time!=0 && type.length()==0)
  {
    sql ="select * from bookinfo where buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\"";
  }
  else if(time!=0 && type.length()>0)
  {
    sql ="select * from bookinfo where booktype="+Integer.parseInt(type)+" and buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\"";
  }
  else
  {
    sql ="select * from bookinfo";
  }
  System.out.println(sql);
  //要知道的是联合查询中需要得到的List也是显示出来的
  List list=mdao.getList(sql);
    //实现的是分页
    int pageSize=Integer.parseInt(request.getParameter("pageSize"));
    int pageIndex=Integer.parseInt(request.getParameter("pageIndex"));
    List sub_list=new ArrayList<>();
    int start=pageIndex*pageSize;
    for(int i=start;i<list.size() && i<start+pageSize;i++)
    {
      sub_list.add(list.get(i));
    }
    String json=JsonUtil.listToJson(sub_list, "yyyy-MM-dd hh:mm:ss");
    System.out.println(json);
    json=JsonData.modifyJson(json);
    json=json.replaceFirst("null", list.size()+"");
    response.getWriter().write(json); 

  } 

然后在后台将时间戳转换成为一定的格式,我们就可以在数据库中户进行搜索了,还有的是sql语句中时间两边是要加上双引号的。

总之,我们利用JQuerymini-ui在进行数据时间数据传递的时候,如果仅仅传递一个时间,那么时间的格式并不是我们想要的那么满意,而且在后台我们要进行各种各样的判断,现在我们传递时间戳会减少一些判断,并且时间的格式也可以很容易的进行转换。

以上这篇JQueryMiniUI按照时间进行查询的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JQueryMiniUI按照时间进行查询的实现方法

    考核的事情已经变成了上一年了,当时要做一个图书管理系统,但是当时因为在按照时间进行搜索的时候,无法将前台的数据传递到后台,所以失去了一部分,现在重看,其实也不过尔尔,反而然我有一种只是当时枉然的意味.好了,那么如何将前台的时间数据传递到后台,其实如果是普通的传递倒也是无所谓的,因为有特殊的功能是在搜索的时候实现 所以要在加载页面的时候传递数据,jQuery-MINI UI如何实现: 其实我们要要做的事情是将数据显示到表格中,那么我们就要看一开始是如何实现的: 前台千篇一律如此: <div id=

  • Symfony2针对输入时间进行查询的方法分析

    本文实例讲述了Symfony2针对输入时间进行查询的方法.分享给大家供大家参考,具体如下: 一般情况下:前端输入一个时间,我们一般是先将时间修改成一个时间戳 strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳 例如: $startTimestamp = strtotime($startDate); $endTimestamp = strtotime($endDate); 然后:如果只是时间,为防止别人传的时间是造假,需要将时间都修改成Y-m-d的形式 $start =

  • mybatis 模糊查询的实现方法

    mybatis 模糊查询的实现方法 mybatis的逆向助手确实好用,可以省去很多编写常规sql语句的时间,但是它没办法自动生成模糊查询语句,但开发中模糊查询是必不可少的,所以,需要手动对mapper编写模糊查询功能. 这里先明确MyBatis/Ibatis中#和$的区别: 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解

  • ORACLE多条件统计查询的简单方法

    前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析.一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该. 然后就开始百度,多种条件下的统计.然后有一种语法让我眼前一亮,case when then else end 当满足CASE设定的条件时,就可以执行then语句.由于我要做的分组查询统计,是要罗列每一种情况,而且根据输入的"管理员编号"不同返回不同结果,结果记录的条数和每一种情况是可知的,这个语法完全可用 核心代码如下: SEL

  • MySql查询时间段的方法

    本文实例讲述了MySql查询时间段的方法.分享给大家供大家参考.具体方法如下: MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供大家参考. MySql的时间字段有date.time.datetime.timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型:也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time.无论怎么存储,在实际应用中,很可能会出现包含"时间段"类型的查询,比如一个访

  • jQuery+Ajax实现限制查询间隔的方法

    本文实例讲述了jQuery+Ajax实现限制查询间隔的方法.分享给大家供大家参考,具体如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Jquery20150305.aspx.cs" Inherits="Jquery20150305" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

  • Bootstrap 实现查询的完美方法

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. 废话不多说了,直接给大家贴bootstrap实现查询的代码了.具体代码如下所示: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE html&

  • Laravel使用Caching缓存数据减轻数据库查询压力的方法

    本文实例讲述了Laravel使用Caching缓存数据减轻数据库查询压力的方法.分享给大家供大家参考,具体如下: 昨天想把自己博客的首页做一下缓存,达到类似于生成静态页缓存的效果,在群里问了大家怎么做缓存,都挺忙的没多少回复,我就自己去看了看文档,发现了Caching这个部分,其实之前也有印象,但是没具体接触过,顾名思义,就是缓存了,那肯定和我的需求有点联系,我就认真看了看,发现的确是太强大了,经过很简单的几个步骤,我就改装好了首页,用firebug测试了一下,提高了几十毫秒解析时间,当然了有人

  • 在 Laravel 6 中缓存数据库查询结果的方法

    在加快应用程序速度方面,缓存可能是最有效的.Laravel 预先安装了缓存驱动程序.因此你可以直接使用 Redis, Memcached 或者使用本地文件进行缓存操作.Laravel 附带了此功能. 这一次,我们将讨论直接从模型缓存 Eloquent 查询,从而使数据库缓存变的轻而易举. 这个包可以在 GitHub 找到,此文档将介绍该应用程序的所有要点.但是,这篇文章,我仅仅介绍缓存和清除缓存的知识. 安装 可以通过 Composer 安装 $ composer require rennokk

  • SpringBoot中时间格式化的五种方法汇总

    目录 前言 时间问题演示 1.前端时间格式化 JS 版时间格式化 2.SimpleDateFormat格式化 3.DateTimeFormatter格式化 4.全局时间格式化 实现原理分析 5.部分时间格式化 总结 参考 & 鸣谢 前言 在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目,其中数据库中包含了一张 userinfo 表,它的组成结构和数

随机推荐