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

ASP选择语句的问题

wxm198427 发布于 2008-09-27 13:55, 1772 次点击
请各位大虾告诉我:我是这样的,我有5个下啦框,每个下拉框中有最少3个选项,我要实现选一个框时就搜索出东西,选2个的组合框也能,选3个也能,选4个5个同样能,就是用ASP给我编出来,我大概用数学组合算了一下,是C51+C52+C53+C54+C55这么多种选法是吧?你们说这个程序怎么写,要写是写的出,但是也太烦琐了吧????有哪位大虾能告诉我怎么办???
8 回复
#2
yms1232008-09-27 15:07
拼接SQL语句,5个下拉框的数据存入数组
Dim i,Str,tAry,tRequest
Str="select * from [user] where"
tRequest="123|456|789|567|678"
tAry=Split(tRequest,"|")
For i=0 To Ubound(tAry)
    if tAry(i)<>"" Then
       Str=Str&" ID="&tAry(i)&" Or "
    End IF
Next
Str=Mid(Str,1,Len(Str)-4)
Response.Write Str
#3
wxm1984272008-09-27 15:21
我菜、鸟一个  ,还不是很明白?请明示??谢谢
#4
yms1232008-09-27 15:25
javascript端我不清楚你怎么传值
Dim i,Str,tAry,tRequest
Str="select * from [user] where"
tRequest="123|456|789|567|678"'这里是接收从客户端传来的ID值或字段值
tAry=Split(tRequest,"|")'将其变成数组
'循环数组
For i=0 To Ubound(tAry)
    if tAry(i)<>"" Then'某个元素不为空
       Str=Str&" ID="&tAry(i)&" Or "'加入到SQL语句成为查询条件
    End IF
Next
Str=Mid(Str,1,Len(Str)-4)
Response.Write Str
#5
wxm1984272008-09-27 16:40
不是啊 大哥,我是用的VBS啊,不是JS,你可能理解错了,我是有多个下拉框,每个下拉框有多个值,就是要实现无论选几个下拉框的值都能从数据库中检索出数据,比方我选一个,就根据这个条件选值,我选2个就根据这2个条件一起选出值,就这样的,怎么弄啊?????可能是我不 理解你的那个的意思吧 ???请你再看看我现在说的条件!!
#6
yms1232008-09-27 19:05
[bo][un]wxm198427[/un] 在 2008-9-27 16:40 的发言:[/bo]

不是啊 大哥,我是用的VBS啊,不是JS,你可能理解错了,我是有多个下拉框,每个下拉框有多个值,就是要实现无论选几个下拉框的值都能从数据库中检索出数据,比方我选一个,就根据这个条件选值,我选2个就根据这2个条 ...

VBS的原理也是一样的,多搜索组合数组的排列虽然复杂也就是多几个循环而已
#7
wxm1984272008-09-29 10:52
谢谢哥们赐教!!!
#8
hmhz2008-09-29 12:40
程序代码:


<%
dim a1,a2,a3,tAry,i,tRequest,sql,Str

a1=request.form("a1")
a2=request.form("a2")
a3=request.form("a3")

tRequest=a1&"|"&a2&"|"&a3

tAry=Split(tRequest,"|")
For i=0 To Ubound(tAry)
    if tAry(i)<>"" Then
       sql=sql&" ID="&tAry(i)&" Or "
    End IF
Next

Str="select * from [user] where "&sql
rs.open Str,conn,1,1
%>

<form action="?" method="post">
<select name="a1">
<option value="1001">1001</option>
<option value="1002">1002</option>
<option value="1003">1003</option>
</select>

<select name="a2">
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
</select>

<select name="a3">
<option value="3001">3001</option>
<option value="3002">3002</option>
<option value="3003">3003</option>
</select>

<input type="submit" value="提交" />
</form>


#9
multiple19022008-09-29 12:48
程序代码:

<%
dim a1,a2,a3,tAry,i,sql,Str

a1=request.form("a1")
a2=request.form("a2")
a3=request.form("a3")

tAry=Array(a1,a2,a3)
For i=0 To Ubound(tAry)
    if tAry(i)<>"" Then
       sql=sql&" ID="&tAry(i)&" Or "
    End IF
Next

Str="select * from [user] where "&sql
rs.open Str,conn,1,1
%>

<form action="?" method="post">
<select name="a1">
<option value="1001">1001</option>
<option value="1002">1002</option>
<option value="1003">1003</option>
</select>

<select name="a2">
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
</select>

<select name="a3">
<option value="3001">3001</option>
<option value="3002">3002</option>
<option value="3003">3003</option>
</select>

<input type="submit" value="提交" />
</form>
1