日期:2014-05-16  浏览次数:20966 次

从上页传过来多个复选框的数值 怎么分开使用这些数值呢?
各位帅哥,美女:

我用dim rs2,ck
    ck=request("checkbox")
  获得从上一个页面传来多个值,就是 ID=1,2,3  

  1,2,3是根据客户选的复选框传过来了,

    set rs2=conn.execute("select * from [order] where id in ("&ck&")")

   出现语法错误,ID=1,2,3


  我现在想要的效果是,当ID=1是, 输出的数据是 ID=1这条记录里的资料。
  当ID=2时,显示为ID=2这条记录里的资料。
  请问要怎么写这个程序。我只会ASP的代码。其他的不懂。
  能帮忙告诉以下怎么处理吗?

------解决方案--------------------
如果你非要使用=。则可以这样

ck=request("checkbox")
If ck <> "" Then

If InStr(ck,",") > 0 Then
set rs2=conn.execute("select * from [order] where id in (" & ck & ")")
Else
set rs2=conn.execute("select * from [order] where id = " & ck)
End If

Else
Response.Write "没有选择"
Response.End
End If

------解决方案--------------------
引用:
我后来在网上查到要把1,2,3分出来,所以代码改成了:
 dim rs2,ck
    ck=request("checkbox")
if ck<>"" then
arr=split(ck,",")

set rs2=conn.execute("select * from [order] where id in ("&arr(1)&")")

这样就显示我要的效果了,就是,当ARR()=1是,输出的是第2条记录,ARR2时输出的是第3条记录。
但是我想要的是他自动判断。就是,如果存在1,就显示1,如果存在1,2。就同时显示1,2

怎么弄?

还说你会asp

你说这话就知道你不会

 set rs2=conn.execute("select * from [order] where id in ("& ck &")")
用这个是没问题的,关键出现语法错误,ID=1,2,3你怎么能用等号?

再说如果这种你是在不会,你就用
 dim rs2,ck
    ck=request("checkbox")
if ck<>"" then
arr=split(ck,",")
for i=0 to UBound(ary)
set rs2=conn.execute("select * from [order] where id in ("&arr(i)&")")
next
这样就可以了