| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 228 人关注过本帖
标题:复选框选择提交,如何与acc数据库某字段存的答案对比
只看楼主 收藏
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
结帖率:100%
  已结贴   问题点数:20  回复次数:12   
复选框选择提交,如何与acc数据库某字段存的答案对比
本人正编一个答题页,多项选择题,库中存有正常答案字段内容如2,4
用户提交复选后提交 ,得出正确与错误的判断,全选对才输出正确.这段码怎么写
2017-10-30 21:12
wlrjgzs
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:108
专家分:700
注 册:2017-4-10
  得分:0 
如此笼统的问题描述,恐怕没人能帮你。
2017-10-30 23:13
klyz505
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:37
专家分:121
注 册:2009-1-22
  得分:20 
<input name="abc" value="1" type="checkbox">答案1
<input name="abc" value="2" type="checkbox">答案2
<input name="abc" value="3" type="checkbox">答案3
<input name="abc" value="4" type="checkbox">答案4
...
类似的,在页面上排好顺序,其值按从小到大。这样post数据到答案检测页时,就会按从小到大,比如:1234,或134或24之类的。
在答案检测页,接收post过来的数据,比如:
<%
dim abc
abc = request.form("abc")
abc = replace(abc," ","")
%>
abc得到的格式将是:值1, 值2, 值3
类似这样,值之间有空格
所以要过滤掉
然后跟数据库的值进行比对吧,等于就正确了(要注意,数据库中的值也不可以含空格)

12年网站开发经验的老程序员,著有《陈子网站开发教程》,QQ:3159401357,WEB:chenziweb_com
2017-10-31 08:27
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
  得分:0 
sub hd1()
    'response.Write("<font color=red>现在在hd1()函数</font>")
    if session("checkpage")="" or session("aid")="" then
        call out()
    end if
   
    dim ok1,ok2

    if request("R1")=session("aok") then    '答案正确      这是单项选择的判断


你的意思多项就可以改成

sub hd1()
    'response.Write("<font color=red>现在在hd1()函数</font>")
    if session("checkpage")="" or session("aid")="" then
        call out()
    end if
   
    dim ok1,ok2,R1

R1 = request.form("R1")
R1 = replace(R1," ","")

    if request("R1")=session("aok") then    '答案正确
2017-10-31 11:02
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
  得分:0 
if replace(R1," ","")=session("aok") then     这样判断出来了。


还有个问题答错后有个可以查看答案,单项写<%=session("akey"&session("aok"))%>就可以正常显示,,多项的要如何  写呢?
2017-10-31 11:14
klyz505
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:37
专家分:121
注 册:2009-1-22
  得分:0 
dim arr,i
arr = split(session("aok"),",")
for i = 0 i < ubound(arr)
  response.write(session("akey"&arr(i)) & "<br>")
next

看原理吧,好久没写asp了,不知道有没写错

12年网站开发经验的老程序员,著有《陈子网站开发教程》,QQ:3159401357,WEB:chenziweb_com
2017-10-31 11:55
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
  得分:0 
for i = 0 i < ubound(arr)这行报错
2017-10-31 15:11
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
  得分:0 
数据库里答案是1,2,4的数组,切割循环的问题吧
2017-10-31 17:08
scnjwq
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-10-30
  得分:0 
把for    句删除



<%=session("akey"&arr(i)) & "<br>"%>这样只能显示多选的第一个正确答案,且只显这一个。
2017-10-31 17:13
klyz505
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:37
专家分:121
注 册:2009-1-22
  得分:0 
那是语法错误。。。你应当理解逻辑...

dim arr,i
arr = split(session("aok"),",")
for i = 0 to ubound(arr)
  response.write(session("akey"&arr(i)) & "<br>")
next


[此贴子已经被作者于2017-10-31 18:10编辑过]


12年网站开发经验的老程序员,著有《陈子网站开发教程》,QQ:3159401357,WEB:chenziweb_com
2017-10-31 18:04







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

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