ASP中多条件查询
<!--#includefile="conn.asp"--><%ifrequest.querystring("act")="cha"Thenexec="select*fr...
<!--#include file="conn.asp" -->
<%
if request.querystring("act")="cha" Then
exec="select * from juanban where 材质 like '"&request.form("caizhi")&"' or 规格 like '"&request.form("guige")&"' or 产地 like '"&request.form("chandi")&"' or 货源 like '"&request.form("huoyuan")&"'"
else
exec="select * from juanban where 1=1"
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof %>
如图
要求某个条件为空时不影响其他的,可以单条件搜索,也可以多条件搜索,上面这段代码怎么改?
如图 展开
<%
if request.querystring("act")="cha" Then
exec="select * from juanban where 材质 like '"&request.form("caizhi")&"' or 规格 like '"&request.form("guige")&"' or 产地 like '"&request.form("chandi")&"' or 货源 like '"&request.form("huoyuan")&"'"
else
exec="select * from juanban where 1=1"
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof %>
如图
要求某个条件为空时不影响其他的,可以单条件搜索,也可以多条件搜索,上面这段代码怎么改?
如图 展开
3个回答
展开全部
直接改成下面这样就可以了:
<!--#include file="conn.asp" -->
<%
exec="select * from juanban where 1=1"
if request.querystring("act")="cha" Then
if request.querystring("caizhi")<>"" then
exec = exec & " or 材质 like '"&request.form("caizhi")&"'"
end
if request.querystring("guige")<>"" then
exec = exec & " or 规格 like '"&request.form("guige")&"'"
end
if request.querystring("chandi")<>"" then
exec = exec & " or 产地 like '"&request.form("chandi")&"'"
end
if request.querystring("huoyuan")<>"" then
exec = exec & " 货源 like '"&request.form("huoyuan")&"'"
end
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof
%>
<!--#include file="conn.asp" -->
<%
exec="select * from juanban where 1=1"
if request.querystring("act")="cha" Then
if request.querystring("caizhi")<>"" then
exec = exec & " or 材质 like '"&request.form("caizhi")&"'"
end
if request.querystring("guige")<>"" then
exec = exec & " or 规格 like '"&request.form("guige")&"'"
end
if request.querystring("chandi")<>"" then
exec = exec & " or 产地 like '"&request.form("chandi")&"'"
end
if request.querystring("huoyuan")<>"" then
exec = exec & " 货源 like '"&request.form("huoyuan")&"'"
end
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码我就不写啦,给你思路,自己想出来的会一直记得,别人代码看一遍过几天就会忘记。
首先接收request传递参数,分开接收,在判断接收的后赋值的变量是否为空,
例如:
接收a=request.form(“a”)
b=request.form(“b”)
判断if a=“”and b<>"" then
执行条件查询(这里只需要查询a)
以此类推
首先接收request传递参数,分开接收,在判断接收的后赋值的变量是否为空,
例如:
接收a=request.form(“a”)
b=request.form(“b”)
判断if a=“”and b<>"" then
执行条件查询(这里只需要查询a)
以此类推
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!--#include file="conn.asp" -->
<%
if request.querystring("act")="cha" Then
If request.form("caizhi")<>"" OR request.form("guige")<>"" OR request.form("chandi")<>"" OR request.form("huoyuan")<>"" Then
exec=""
If request.form("caizhi")<>"" Then exec=exec & " or 材质 like '"&request.form("caizhi")&"'"
If request.form("guige")<>"" Then exec=exec & " or 规格 like '"&request.form("guige")&"'"
If request.form("chandi")<>"" Then exec=exec & " or 产地 like '"&request.form("chandi")&"'"
If request.form("huoyuan")<>"" Then exec=exec & " or 货源 like '"&request.form("huoyuan")&"'"
exec="select * from juanban where" & Mid(exec,5)
Else
'条件都为空,自己处理一下
End If
else
exec="select * from juanban where 1=1"
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof %>
<%
if request.querystring("act")="cha" Then
If request.form("caizhi")<>"" OR request.form("guige")<>"" OR request.form("chandi")<>"" OR request.form("huoyuan")<>"" Then
exec=""
If request.form("caizhi")<>"" Then exec=exec & " or 材质 like '"&request.form("caizhi")&"'"
If request.form("guige")<>"" Then exec=exec & " or 规格 like '"&request.form("guige")&"'"
If request.form("chandi")<>"" Then exec=exec & " or 产地 like '"&request.form("chandi")&"'"
If request.form("huoyuan")<>"" Then exec=exec & " or 货源 like '"&request.form("huoyuan")&"'"
exec="select * from juanban where" & Mid(exec,5)
Else
'条件都为空,自己处理一下
End If
else
exec="select * from juanban where 1=1"
end if
set rs2=server.createobject("adodb.recordset")
rs2.open exec,conn,1,1
do while not rs2.eof %>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询