遇到史上超难的题

时间:2023-02-05 09:56:00
http://mnks.xueche.net/mnks/
这个网站上的"随机出题测试"模块怎么做呢
希望没想过的不要乱发

13 个解决方案

#1


思路其实有很多,关键在个人的把握,我的思路是,首先创建一个试题库,每一道题都有自己的惟一性编号,然后随机生成一串数字,并随机取出这个字串的第某位(假设第一位为3),把指针放到题库第一条记录,每往下移动3指针,取出一条了,最后判断取出的个数
或者你前10条往下移动三个记录,再往后你就取得第二位的值,按照第二位所对应的数值往下移动

#2


相当于答题的A、B卷,题是固定的,然后你想法分组不就可以了嘛

#3


随机出题目页面(question.asp):
Randomize
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//随机得到3题,随机排序

通过<input type='hidden' value="<%=nval%>" name="mm" /> 
//nval=nval&rs("id")&","nval是随机分配的题目id集合
提交到对答案面面

对答案页面(answer.asp):
sql="select top 3 * from test where id in ("&request.form("mm")&")" //默认按升序

现在问题是:
question.asp中的题日随机排序,但是answer.asp中是升序,所以question.asp和answer.asp中的题目没有对上

#4


<input type="radio" name="da1065" id="rd97" value="A">A.高压电<br>
<input type="radio" name="da1065" id="rd97" value="B">B.小电流<br>

很明显是单一判断答案的对错,所以不存在你说的顺序问题。

for each tid in nval

if conn.execute("select 答案 from test where id = "&tid)(0)=request.form("da"&tid&"") then

else
错误
end if

next

#5


抽题的时候把答案或答案编号一起抽出来。
    放到哪里你自己再找个地方放!~
    到对答案时不就对应上了么》。

#6


谁帮发送了,我没说完呢,呵呵。
 建议不要直接把答案取出。(在源码上直接看到答案就危险了。)
 

#7


回:ATHENA112() 

在对答案的时候,answer.asp要把question.asp随机抽到的题目原样的列出来

#8


实际上我的问题是:
两个页面:1.asp,2.asp

在1.asp:
Randomize
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//随机得到3题,排序也是随机
然后显示这三条记录

在2.asp:
我想显示上面那三条随机抽出的记录,而且次序是一样的

#9


不需要记录成绩,只做练习用的,可以用session记录随机题的id串,比如23,13,45
2.asp直接读session就是了
如果需要记录历史成绩,你自然有一个历史成绩表,在里头存就好了

#10


sql="select top 3 * from test order by newid()"
系统带的就可以了

#11


usertest table
id int
sessionid varchar 
px int
------------------------------
1.asp
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//
set rs=conn.execute(sql)
i=0
while not rs.eof
i=i+1
conn.execute("insert into usertest values("&rs("id")&",'"&Session.SessionID&"',"&i&")")
rs.movenext
loop
-------------------------------------------
2.asp
sql="select test.* from test,usertable where sessionid='"&session.sessionid&"' and test.id=usertable.id order by px "

#12


回:lxrxyls(行云流水) 

都把记录存到数据库表里啊,能不能存到一个临时表(如用数组代替)??

#13


主要是排序的问题,否则你就需要把所有的题目信息全都放到数组里,存到cooki或者session里。

#1


思路其实有很多,关键在个人的把握,我的思路是,首先创建一个试题库,每一道题都有自己的惟一性编号,然后随机生成一串数字,并随机取出这个字串的第某位(假设第一位为3),把指针放到题库第一条记录,每往下移动3指针,取出一条了,最后判断取出的个数
或者你前10条往下移动三个记录,再往后你就取得第二位的值,按照第二位所对应的数值往下移动

#2


相当于答题的A、B卷,题是固定的,然后你想法分组不就可以了嘛

#3


随机出题目页面(question.asp):
Randomize
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//随机得到3题,随机排序

通过<input type='hidden' value="<%=nval%>" name="mm" /> 
//nval=nval&rs("id")&","nval是随机分配的题目id集合
提交到对答案面面

对答案页面(answer.asp):
sql="select top 3 * from test where id in ("&request.form("mm")&")" //默认按升序

现在问题是:
question.asp中的题日随机排序,但是answer.asp中是升序,所以question.asp和answer.asp中的题目没有对上

#4


<input type="radio" name="da1065" id="rd97" value="A">A.高压电<br>
<input type="radio" name="da1065" id="rd97" value="B">B.小电流<br>

很明显是单一判断答案的对错,所以不存在你说的顺序问题。

for each tid in nval

if conn.execute("select 答案 from test where id = "&tid)(0)=request.form("da"&tid&"") then

else
错误
end if

next

#5


抽题的时候把答案或答案编号一起抽出来。
    放到哪里你自己再找个地方放!~
    到对答案时不就对应上了么》。

#6


谁帮发送了,我没说完呢,呵呵。
 建议不要直接把答案取出。(在源码上直接看到答案就危险了。)
 

#7


回:ATHENA112() 

在对答案的时候,answer.asp要把question.asp随机抽到的题目原样的列出来

#8


实际上我的问题是:
两个页面:1.asp,2.asp

在1.asp:
Randomize
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//随机得到3题,排序也是随机
然后显示这三条记录

在2.asp:
我想显示上面那三条随机抽出的记录,而且次序是一样的

#9


不需要记录成绩,只做练习用的,可以用session记录随机题的id串,比如23,13,45
2.asp直接读session就是了
如果需要记录历史成绩,你自然有一个历史成绩表,在里头存就好了

#10


sql="select top 3 * from test order by newid()"
系统带的就可以了

#11


usertest table
id int
sessionid varchar 
px int
------------------------------
1.asp
sql="select top 3 * from test order by rnd(-(id+"&rnd()&"))"//
set rs=conn.execute(sql)
i=0
while not rs.eof
i=i+1
conn.execute("insert into usertest values("&rs("id")&",'"&Session.SessionID&"',"&i&")")
rs.movenext
loop
-------------------------------------------
2.asp
sql="select test.* from test,usertable where sessionid='"&session.sessionid&"' and test.id=usertable.id order by px "

#12


回:lxrxyls(行云流水) 

都把记录存到数据库表里啊,能不能存到一个临时表(如用数组代替)??

#13


主要是排序的问题,否则你就需要把所有的题目信息全都放到数组里,存到cooki或者session里。