| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1007 人关注过本帖
标题:怎样实现分类统计?!~~急
只看楼主 加入收藏
happyhu
Rank: 1
等 级:新手上路
帖 子:292
专家分:0
注 册:2005-7-12
收藏
 问题点数:0 回复次数:11 
怎样实现分类统计?!~~急
我想在表单中通过下拉框选择不同的字段(可选择具体值也可选择空)来实现分类统计
即根据表单提交的条件从数据库中查找信息。
但有这么多条件我不知道怎么写sql语句(主要是and的有无)
请大家指点,谢谢!!!!
<%
dim searchday
if request("DateSearch")="all" then
searchDay=""
else
searchDay=" DATEDIFF('d',addtime2,Now()) < "&request("DateSearch")
end if
dim fhname
if request("fhname")="" then
fhname=""
else
fhname=" fhname='"&request("fhname")&"'"
end if
dim jgdw
dim he
if request("jgdw")="" then
jgdw=""
else
jgdw="jgdw='"&request("jgdw")&"'"
end if
dim tj
if request("DateSearch")="all" and request("fhname")="" and  request("jgdw")="" then
tj=""
else
tj="where"
end if
dim he1,he2,he3
if searchDay<>"" and  request("fhname")<>"" then
he1="and"
else
he1=""
end if
if (searchDay<>"" or  request("fhname")<>"") and request("jgdw")<>"" then
he2="and"
else
he2=""
end ifdim pagecount,page,Spage,Epage,recordcount,i
page = request.querystring("page")
if page = "" or IsNull(page) then page = 1
if not IsNumeric(page) then page = 1
page = Cint(page)
set rs = server.CreateObject ("Adodb.recordset")sql="select * from huowu "&tj&searchday &he1&fhname&he2&jgdw&" order by hwid desc"
rs.open sql,conn,1,1
搜索更多相关主题的帖子: fhname 数据库 request dim 
2005-09-17 10:20
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
有没有必选条件 或 搜索关键字条件
2005-09-17 11:42
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
收藏
得分:0 
你那样写的思路是正确的!,不过不够简练.

外贸综合平台:E贸通
2005-09-17 12:06
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
据个例子吧: 1、 假如字段aaa必选 值是aaa=request("aaa") sql="select * from 表 where aaa='"&aaa&"'" bbb字段是可选 值是bbb=request("bbb") ccc字段是可选 值是ccc=request("bbb") if bbb<>"" then sql=sql&" bbb='"&bbb&"'" if ccc<>"" then sql=sql&" ccc='"&ccc&"'" …… 最后排序sql=sql&"order by id desc" 2、 假如字段aaa是按关键字查找的 值是aaa=request("aaa") sql="select * from 表 where aaa like '%"&aaa&"%'" 注意假如aaa是空值 aaa like '%%' 他能找到所有的 所以不用管他是不是空值 都能用like bbb字段是可选 值是bbb=request("bbb") ccc字段是可选 值是ccc=request("bbb") if bbb<>"" then sql=sql&" bbb='"&bbb&"'" if ccc<>"" then sql=sql&" ccc='"&ccc&"'" …… 最后排序sql=sql&"order by id desc"
2005-09-17 13:14
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
收藏
得分:0 
哈哈,islet你可能写得过于简单了
and都没有了
还有该不该加and也被你省略了
不是想找你的错,只想为问者解惑

2005-09-18 16:41
yilinjun
Rank: 1
等 级:新手上路
帖 子:232
专家分:0
注 册:2005-6-5
收藏
得分:0 
如果全是 and 可用 1=1 条件试试

这样子看得好晕

2005-09-18 16:55
happyhu
Rank: 1
等 级:新手上路
帖 子:292
专家分:0
注 册:2005-7-12
收藏
得分:0 
我的程序中时间默认是全部时间,也可选择时间段,即:
if request("DateSearch")="all" then
searchDay=""
else
searchDay=" DATEDIFF('d',addtime2,Now()) &lt; "&amp;request("DateSearch")
end if
其它都是可选的,如果选就使之等于取得的值request("fhname")&amp;",如果不选就为空,fhname=""。代码如:
if request("fhname")="" then
fhname=""
else
fhname=" fhname='"&amp;request("fhname")&amp;"'"
end if
问题是如果时间searchDay="",如果后面的都为空的话就不需要where条件句了,即查找全部。但如果后面又不为空的就得有where句。我不知道怎么确定何时有何时无where据,以及后面的and的有无/
请大家帮忙看看,给点意见或帮忙改改。谢谢!!!

2005-09-18 22:16
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 


if bbb&lt;&gt;"" then sql=sql&amp;" and bbb='"&amp;bbb&amp;"'"
if ccc&lt;&gt;"" then sql=sql&amp;" and ccc='"&amp;ccc&amp;"'"
2005-09-19 10:38
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
我说的就是有个前提:不许有一个必选 实在没有可加上一个文本类的where sdas like '%%'
2005-09-19 10:40
happyhu
Rank: 1
等 级:新手上路
帖 子:292
专家分:0
注 册:2005-7-12
收藏
得分:0 
问题解决,谢谢大家!!!

2005-09-19 14:46
快速回复:怎样实现分类统计?!~~急
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017539 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved