新微赢技术网

标题: 如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据…………? [打印本页]

作者: ※为你歌唱※    时间: 2010-1-17 02:42
标题: 如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据…………?
如题,比如我有复选框name: id,值选为1,3,4,…………n,等序列ID数值,我如何才能够通过获得相应的值后从数据库中读取数据后调用出来?请大侠们指教。最好有示例代码给我看看参考一下,谢谢…………
作者: 惠儿雨点    时间: 2010-1-17 02:42
sql = "select * from table where id in (1,3,4,n)"
是这样不?。。。
作者: o.筎茈菰箪き    时间: 2010-1-17 02:42
但是我们不知道传递的值就是这几个数值啊,我想知道这复选框选取的数值如何通过代码传递出来后从数据库中读取数据…………

比如我已有代码:
<body>
<form name="form1" method="post" action="ch2.asp">
<table width="200" border="1">
<%set rs=server.CreateObject("adodb.recordset")
rs.open "select * from product",conn,1,1
while not rs.eof%>
<tr>
<td><input type="checkbox" name="id" value=<%=rs("id")%>><%=rs("username")%></td>
</tr>
<%rs.movenext
wend%>
<tr>
<td><input type="submit" name="Submit" value="提交"></td>
</tr>
</table>
</form>
</body>

我如何对上面复选框中传递的数值进行数据读取操作,如果只有一个数值的话,我可以…………
<%
id=request.querystring("id")
set rs=server.createobject("adodb.recordset")
sql1="select * from product where id= "&id
rs.open sql1,coon,1,1
%>

但是,假如传递的数值多于一个的话,我不知道该怎么办了?还有重复记录排列问题…………在这种情况下怎么写?
作者: 不材之木    时间: 2010-1-17 02:42
晕 拉。。。
你知道复选框传过来的值是一个用逗号分隔的字符串不?
象这样"1,3,5,7" 这样 你自己就不想想办法....
给你个例子 剩下的自己想 不要依赖别人
<%
a="3,4,6"
b=split(a,",")
for i=0 to UBound(b)
if i = 0 then m=b(i)
if i <>0 then m=m&","&b(i)
next
'response.Write(m)
m="("&m&")"
set rs= server.CreateObject("adodb.recordset")
sql = "select * from tab where id in "&m
'response.Write sql
rs.open sql,conn,1,1
do while not rs.eof
response.Write(rs("name")&"<br>")
rs.movenext
loop
%>
作者: wendy    时间: 2010-2-14 10:05
强烈支持。楼主万岁




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2