注册 登录
编程论坛 ASP技术论坛

新手,求各位高手帮忙!想增加两个时间段之间查询的功能

lsmmh 发布于 2017-06-10 10:10, 3289 次点击
以下代码,可以实现查询某一天单位的统计情况(比如:2017-06-01),现在想增加一个功能:查询两个时间段之间单位的所有统计情况(比如:2017-06-01至2017-06-08之间的统计数据)。
cwtj 数据库名  wbmc 时间字段  tel 单位名称字段

现在的:统计日期<input type="text" name="searchkeys" onFocus="CalendarWebControl.show(this,false,this.value);" size="12" /> 单位名称<input name="searchkeya" type="text" id="tel" size="15" /><input type="submit" name="Submit" value="查询" /></form>

想增加这个功能:开始统计日期<input type="text" name="searchkeys" onFocus="CalendarWebControl.show(this,false,this.value);" size="12" />至截至统计日期<input type="text" name="searchkeys" onFocus="CalendarWebControl.show(this,false,this.value);" size="12" /> 单位名称<input name="searchkeya" type="text" id="tel" size="15" /><input type="submit" name="Submit" value="查询" /></form>
怎么修改,才能达到这个要求........

<!--#include file="conn.asp"-->
<!--#include file="Select_date.asp"-->
<form id="form1" name="form1" method="post" action="search.asp">
  统计日期<input type="text" name="searchkeys" onFocus="CalendarWebControl.show(this,false,this.value);" size="12" />
  单位名称<input name="searchkeya" type="text" id="tel" size="15" />
  <input type="submit" name="Submit" value="查询" /></form>
<table width="850" border="1" cellpadding="0" cellspacing="0" align="center">
  <tr align="center">
      <td><b>序号</b></td>
      <td><b>统计日期</b></td>
      <td><b>单位名称</b></td>
      <td><b>错误次数</b></td>
      <td><b>签到学习情况</b></td>
      <td><b>统计情况</b></td>
  </tr>

  <%
    searchkeys=request("searchkeys")
    searchkeya=request("searchkeya")
    if searchkeys<>"" then
    sql="select * from [cwtj] where wbmc like  '%" & searchkeys & "%'and tel like  '%" & searchkeya & "%' order by id desc"
    else
    sql="select * from [cwtj]  where tel order by id desc"
    end if
    Set rs=Server.CreateObject("ADODB.RecordSet")
    rs.Open sql,conn,1,1
    if rs.eof and rs.bof then
      response.Write("<tr><td colspan='6'><div align='center'>没有记录</div> </td></tr>")'记录为空提示
    else
    rs.PageSize=10'每页记录数
    iPageSize=rs.PageSize
    maxpage=rs.PageCount
    page=request("page")
    If Not IsNumeric(page) or page="" then
    page=1
    Else
    page=cint(page)
    End If
    If page<1 then
        page=1
        ElseIf  page>maxpage then
        page=maxpage
    End If
    rs.AbsolutePage=Page
    If page=maxpage then
        x=iCount-(maxpage-1)*iPageSize
    Else
        x=iPageSize
    End If
   
    i=1
    for j=1 to rs.pagesize
    %>

[此贴子已经被作者于2017-6-10 10:13编辑过]

6 回复
#2
林月儿2017-06-10 10:57
日期字段比较不行吗
#3
lsmmh2017-06-10 11:58
回复 2楼 林月儿
能帮忙改下代码吗?自己改了好久都没有办法..........
#4
lsmmh2017-06-13 15:33
求助呀!请路过的高手帮帮忙.........
#5
lsmmh2017-06-15 17:44
算了
#6
LiaoDY9452019-03-16 14:01
SQL中,用:
Where 日期字段>="#2019-1-1#" AND 日期字段<="#2019-3-7#"
#7
ke爱的小tu子2021-02-16 21:20
我给你出个注意,保证管用。其实这个原理就是文章系统里面文章上一篇和下一篇的原理。只不过文章系统的上一篇下一篇中间只有一片文章,而你要查询的中间有很多内容,不只一个文章。
1,startTime,endTime分别对应开始时间,结束时间。这个时间是用户选择的。
2,startTimeId,endTimeId,分别对应开始时间的Id和结束时间的Id。
3,有了Id值就好说了。你需要查询的两个时间范围的内容,其实就是在这两个Id之间的内容啊。
简略的写以下sql:
sql="select * from xx表 where id<"&endTimeId+1&" and id>"&startTimeId-1

原理就是这么简单咯。不过呢代码还是要自己写了,肯定不难的,相信你,加油。

1