| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5140 人关注过本帖
标题:如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据…………?
取消只看楼主 加入收藏
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
 问题点数:0 回复次数:6 
如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据…………?
如题,比如我有复选框name: id,值选为1,3,4,…………n,等序列ID数值,我如何才能够通过获得相应的值后从数据库中读取数据后调用出来?请大侠们指教。最好有示例代码给我看看参考一下,谢谢…………
搜索更多相关主题的帖子: 复选框 数据库 数值 获取 name 
2006-11-23 11:24
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
但是我们不知道传递的值就是这几个数值啊,我想知道这复选框选取的数值如何通过代码传递出来后从数据库中读取数据…………

比如我已有代码:
<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
%>

但是,假如传递的数值多于一个的话,我不知道该怎么办了?还有重复记录排列问题…………在这种情况下怎么写?

[此贴子已经被作者于2006-11-23 12:11:46编辑过]


2006-11-23 11:47
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
不好意思,也多谢做人很低调的忠告,我对这个还不太熟,也不知道 复选框传递的值是,分隔的字符串,因为我没系统学过ASP,所以不知道怎么传值的,不过我会系统学学的,现在因为需要写这样个程序,所以没办法了…………

我研究一下你这代码,稍后再发表意见有问题,谢谢你能再来为我解答。

2006-11-23 12:36
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 

TO:做人很低调

我参考你的例案写的内容,可是提示是:
错误类型:
Microsoft JET Database Engine (0x80040E14)
(代码中红色部分)

请问我这里代码中哪个地方写错了,或还没有正确理解到你的意思。

<!--#include file="../Admin/Coon.asp" -->

<%
a=request.Form("id")
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 Products where M_id in "&m
'response.Write sql
rs.open sql,conn,1,1
%>
<table width="750" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td align="center"><strong>ITEM NO. </strong></td>
<td align="center"><strong>DESCRIPTION</strong></td>
<td align="center"><strong>QUANTITY</strong></td>
<td align="center"><strong>TOTAL AMONT </strong></td>
</tr>
<%do while not rs.eof%>
<tr>
<td align="center"><%=rs("M_ItemNo")%></td>
<td><%=rs("M_Desc")%></td>
<td align="center"><%=rs("M_Quan")%></td>
<td align="center">USD <%=rs("M_ToTa")%></td>
</tr>
<%
rs.movenext
loop%>
</table>
<%
rs.close
%>


2006-11-23 13:18
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
上面没错,是正确的,我忘了把传递ID的那一页的复选框名称改过来,所以出错了,疏忽了…………

谢谢做人很低调

2006-11-23 13:35
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 

现在我读了数据想写入进数据库[修改操作],可是按下列代码只能写入最后一条数据,请问怎么循环才能将复选框中的ID项目全部写入进数据库中?
代码如下:

a=request.Form("id")
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 D_Order where M_id in "&m
'response.Write sql
rs.open sql,conn,3,3

rs("M_Code")=session("Onum")
rs.update


rs.close
conn.close
set rs=nothing


2006-11-24 12:06
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
搞定,这样就行…………


a=request.Form("id")
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 D_Order where M_id in "&m
'response.Write sql
rs.open sql,conn,2,3
do while not rs.eof
rs("M_Code")=session("Onum")
rs.update
rs.movenext
loop
rs.close
conn.close
set rs=nothing

我老是不习惯用rs.eof功能…………

[此贴子已经被作者于2006-11-24 13:01:07编辑过]


2006-11-24 13:00
快速回复:如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据………… ...
数据加载中...
 
   



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

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