标题:复选框信息从数据表内提取
只看楼主
hanson8505
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-26
 问题点数:0 回复次数:5 
复选框信息从数据表内提取
请问如何使复选框信息从数据表内提取显示,显示格式为按序号排序先排列左边,再排列右边,若数据条目数为奇数时,右侧排列项比左侧多一个。望高手指教
搜索更多相关主题的帖子: 复选 数据 
2010-10-26 10:56
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
复选框从表内提取数据,跟读取数据库的操作是差不多的
2010-10-26 11:30
hanson8505
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-26
得分:0 
提取显示的格式排列是有要求的
2010-10-26 12:24
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
作个判断,当是奇数是,做特殊处理,或补一个空数据。

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-10-26 13:02
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
得分:0 
程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
checkitems="A,B,C,D,E,F,G,H,I"        '复选框项目
checkresult="1,0,0,1,1,0,1,0,0"        '选择的项目,1为选中

checkitems=split(checkitems,",")    '转成数组
checkresult=split(checkresult,",")

checkcount=ubound(checkitems)+1        '计算有多少个选项
firstcount=int(checkcount/2)        '分两列,计算第一列的选项数
%>
<%=firstcount%> / <%=checkcount%>
<table border="1">
  <tr><td>
<%
for i=1 to firstcount
%>
  <input name="checkitem" type="checkbox" value="1"<%if checkresult(i-1)="1" then%> checked="checked"<%end if%>> <%=checkitems(i-1)%><br />
<%
next
%>
  </td><td>
<%
for i=firstcount+1 to checkcount
%>
  <input name="checkitem" type="checkbox" value="1"<%if checkresult(i-1)="1" then%> checked="checked"<%end if%>> <%=checkitems(i-1)%><br />
<%
next
%>
  </td></tr>
</table>
不知道你的复选框结果是怎么保存,上面的代码是用1,0,0,1,1,0,1,0,0这样保存的

 

----我怎能在别人的苦难面前转过脸去----
2010-10-26 13:57
coldstone
Rank: 2
等 级:论坛游民
帖 子:9
专家分:27
注 册:2008-10-8
得分:0 
你的问题的核心其实是如果让记录集多列显示,表达得不够清晰。
解决的办法不一定要靠ASP,CSS也可以解决。定义一个div,宽度固定,float为left,自然就可以实现你要的效果。
如果你是用table布局,通常的做法是用Mod方法计算累加记录数与列数的余数,为0则换行。如果不能整除,再则补上相对应数量的<td>以保证表格的完整。
程序代码:
Dim i,j,col : i = 1
col = 2 '列数
Response.Write "<tr>"
do while not rs.eof
  if i mod col = 0 Then Response.Write "</tr><tr>"
  Response.Write "<td><label><input type=""checkbox"" value="""&rs("id")&""" name=""check"" />" & rs("name") & "</label></td>"
    rs.MoveNext
    i = i + 1
loop
If (i-1) Mod col > 0 Then
    For j = 0 To col - ((i-1) Mod col)
        Response.Write "<td>&nbsp;</td>"
    Next
End If
Response.Write "</tr>"

上面的代码可以适应任意列,包括你帖子里要求的2列。
2010-10-27 14:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-324017-1-1.html




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

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