- 主题:请教用asp制作一个网络考试系统
数据库咋建的,建议如下:
1.每道题有一个独立id,有正确答案字段
2.客户端提交 [题目id,考生答案字段]集合
3.服务器端遍历该集合,对于每一个元素,根据题目id查找正确答案
比较考生答案和正确答案是否相同
最简单的就这样了
【 在 ivyforever (我心永恒) 的大作中提到: 】
: 非常感谢,可是我实施起来,遇到问题,提交表单参数不知如何传递,是随机抽取的题目。
: 我的试题库格式是:
: ID timu A B C D answer beizhu
: ...................
--
FROM 218.91.213.*
另外搞个 hidden 类型的input
提交先用javascript获取答案集合,具体可以google “javascript获取radio值”
把集合用字串形式赋值给隐藏input的值
大概就是 "12|A,15|B,356|D,..." 的样子
服务器端接收这个字串后再处理
你可以参考下:
http://www.qihu.org/cs/mdSDS.asp
看一下代码中的 mySub() 函数
这个是用get方式提交的,不过大同小异
【 在 ivyforever (我心永恒) 的大作中提到: 】
我的数据库格式是:字段名分别是:
ID timu A B C D answer beizhu
<form id="form1" name="form1" method="post" action="tijiaodaan.asp?id=<%=request("id")%>&radiogroup">
就是action那部分不知如何传递变量??
【 在 shen (神~~) 的大作中提到: 】
: 数据库咋建的,建议如下:
: 1.每道题有一个独立id,有正确答案字段
: 2.客户端提交 [题目id,考生答案字段]集合
: ...................
--
修改:shen FROM 211.99.222.*
FROM 218.91.213.*
把随机抽取的题目先按id排个序
然后再查询
【 在 ivyforever (我心永恒) 的大作中提到: 】
多谢,我现在把随机抽取到题目的ID和选项传递到了算分的页面b
b按照查询access数据库语言,查询抽取到题目的ID
可是顺序始终是从小到大,比如随机抽到ID号是(8,3,7,2,10)
b查询始终不能按照这个顺序,而是从小到大的顺序,(2,3,7,8,10)
不知道如何处理?
【 在 shen (神~~) 的大作中提到: 】
: 另外搞个 hidden 类型的input
: 提交先用javascript获取答案集合,具体可以google “javascript获取radio值”
: 把集合用字串形式赋值给隐藏input的值
: ...................
--
FROM 211.99.222.*
...
如果对写代码兴趣不大,就找个威客网,100块请人写一个
如果有兴趣,先看一个asp教程吧
【 在 ivyforever (我心永恒) 的大作中提到: 】
业余做这个,问了不起眼的问题
我是做一个随机抽题,然后作答提交算分,遇到了这样的问题,但是不知道如何来做
a.asp是选题页面,b.asp是算分页面,a.asp传递两个隐形变量到b.asp——试题号和选择项,这样怎么来查询?b.asp中算分的if语句也根本不执行,是什么问题?即使验证了answer与selection相等,score始终=0
a.asp
<input type="hidden" name=ID value="<%=rs("ID")%>">
<input type="hidden" name=selection value="<%=("No"&rs("ID"))%>">
b.asp
each_id = request.form("ID") '读取随机抽题的ID号
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from tiku where id in ("& each_id&")" '查询条件为a.asp中随机抽到题目的ID号
rs.open sqlstr,conn,2,2
score=0 '得分初始值
while not rs.eof
answer=rs("daan")
response.write(answer)
select case rs("timuleixing")
case 1:
selection=request("No"&rs("ID")) '读取选择项
response.write ""&selection&"<br>"
case 2:
selection=request("No"&rs("ID"))
end select
if answer=selection then
score=score+2
end if
rs.movenext()
wend
rs.close
set rs=nothing
response.write "<b>"&score&"</b><br>"
【 在 duduzhu (猪猪) 的大作中提到: 】
: 1、你可以按题目依次查询
: 2、你可以使得随机选题输出题目组中的题目的顺序与你算分时侯的数据库查询默认排序一致,比如从小到大。
: 3、你可以额外把你的随机选题排序。
: ...................
--
FROM 211.99.222.*