如何让数据库中的数据体现在【复选框】中!????????

AVAmyZ 2004-01-10 06:51:57
如何让数据库中的数据体现在【复选框】中!????????

我做一个页面的时候遇到这个很菜的问题。
我有5X8共40条关于个人性格的【复选框】,样式如下:
性格外向 性格内向 活泼开朗 沉默寡言 幽默
稳重 轻浮 冲动 坚强 脆弱
幼稚 成熟 能说会道 自私 真诚
独立 依赖 任性 自负 自卑
.....................

当我注册的时候,选择了其中的12条,现在我进入个人资料的修改页面,要修改我的性格,我怎么才能做到,让这些【复选框】选中我注册时候选择的内容呢?

请大侠给出点代码!100分送上,第一个解决的给全分!
...全文
41 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AVAmyZ 2004-01-10
最少数据沉余和性能最好的方式:
表:tblTable字段 individuality [varchar(79)]
结果数据: 1,0,1,0,0.....1 (1代表第一个性格选中了,0代表没有选中)
参考asp函数 split(分割数组)
示例:
显示数据:判断'稳重'是第5个选项,那么数组第5条如果等于1那么就是有该性格。
修改数据:做一个函数比如individuality(5)表示检查第5个选项是否为1


其实很多这样的例子,但是我的问题就是不知道对方的数据结构!郁闷。。。。



实现诺言,揭帖!
回复
eyun 2004-01-10
你可以用列举数据库中各个记录的类似的方法

我的一个例子
<%
searchf="select friends from friends where username='"&username&"'"
set frs=conn.execute(searchf)
if not (frs.eof and frs.bof) then
m=0
do while not frs.eof
m=m+1
frs.movenext
loop
frs.movefirst
mmod=m mod 4
if mmod=0 then
m=m/4
else
m=int(m/4)+1
end if
for i=1 to m
%>
<tr>
<%
j=1
while (not frs.eof) and (j<5)
%>
<td height="20"><%= frs("friends") %><input name="frs" type="radio" value="<%= frs("friends") %>"></td>
<%
frs. movenext
j=j+1
wend%>
</tr>
<%
next
end if%>
回复
AVAmyZ 2004-01-10
form中的input都是这样的:
<INPUT type=checkbox value=成熟稳重 name=ch>
成熟稳重</td>
<td height="22"> <INPUT type=checkbox value=幼稚调皮 name=ch2>
幼稚调皮</td>
<td height="22"> <INPUT type=checkbox value=温柔体贴 name=ch3>
温柔体贴</td>
<td height="22"> <INPUT type=checkbox
value=活泼可爱 name=ch4>
活泼可爱</td>
<td height="22"> <INPUT type=checkbox value=脾气暴躁 name=ch5>
脾气暴躁</td>
</tr>
<tr align="center">
<td height="22"> <INPUT type=checkbox value=内向害羞 name=ch6>
内向害羞</td>
<td height="22"> <input type=checkbox
value=外向开朗 name=ch65>
外向开朗</td>
<td height="22"> <input type=checkbox value=心地善良 name=ch64>
心地善良</td>
<td height="22"> <input type=checkbox value=风趣幽默 name=ch63>
风趣幽默</td>
<td height="22"> <input type=checkbox
value=慢条斯理 name=ch62>
慢条斯理</td>
。。。。。。。。。。。。。。
回复
AVAmyZ 2004-01-10
写如的时候是这样的:
strSQL="insert into user_character(...,nature,...) values(...,'"& request.form("xg") &"',)"
set RS = ConnStr.execute(strSQL)
回复
sinusoid 2004-01-10
1.提取的时候用
xingge=split(rs("xingge"),"|")
2.
纠正:
<input type="checkbox" name="内向" value=<%if ischecked("内向")=true then response.write"checked"%>>
<input type="checkbox" name="幽默" value=<%if ischecked("幽默")=true then response.write"checked"%>>
回复
sinusoid 2004-01-10
1。用户表的中设一字段(xingge)记录选中的性格:
例:内向|幽默|稳重|坚强|冲动|真诚|独立
不同的性格之间用|分隔。

2。判断的时候:

<input type="check" name="内向" value=<%if ischecked("内向")=true then response.write"checked"%>>
<input type="check" name="幽默" value=<%if ischecked("幽默")=true then response.write"checked"%>>
.....
.....
function ischecked(str)
'str参数为check的name属性
'判断check的name属性,在用户表中的xingge字段是否存在。
'存在ischecked=true,否则ischecked=false
end function
回复
AVAmyZ 2004-01-10
不是,直接保存的文字!
回复
windancer 2004-01-10
你的数据库里怎么保存提数据,用"1,2,3,4..."这样的方式吗
还有你的
=======================================
性格外向 性格内向 活泼开朗 沉默寡言 幽默
稳重 轻浮 冲动 坚强 脆弱
幼稚 成熟 能说会道 自私 真诚
独立 依赖 任性 自负 自卑
========================================
是以静态方式写到页面上的吗?还是动态从数据表或数组中列出。
回复
exboy 2004-01-10
写一个方法:

sub selected(str1, str2)
if instr(str1, str2) <> 0 then
response.write "checked"
end sub

使用:

<input type="checkbox" <%selected "从数据库中读取已经选中的数据", "性格外向"%>>

其他的是一样的。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-01-10 06:51
社区公告
暂无公告