我要做一个在线答题系统,用户是学生,用户可选择“专题”做答,或选择历届的“综合题”做答,“专题 ”里面可以选择自己感兴趣的知识点作答,如jsp,asp.net,asp.net,winform,js,html,ajax等等,“综合题 ”当然就是什么知识点都有的试题咯,系统要纪录用户每次作题的情况,并纪录作错的题目,到时候用户选 择随机作题的时候系统可以根据用户的作题历史专门抽取它的弱项,也就是做错比较多的知识点,请问怎么 实现?

解决方案 »

  1.   

    很简单,新建一个表:table1( 用户id , 题目id) 如果该用户做对了一道题就把他的用户id 和该题目id 保存进这个表 选择它的弱项的时候就这样:select 题目 from 题目表 where 题目id not in ( select distinct 题目id from table1 where 用户id='"+ session("userid")+"' )
      

  2.   

    用户、试题、题型、答题情况
    试题里面就包含了题的内容,选项及正确答案,
    答题情况里面有用户ID、题型ID.根据用户答案情况作一个记录,最好每次记录一个百分比,在随机挑选的时候根据百分比情况来判断出哪一类型的题目
      

  3.   

    关键是那个考试的表怎么建,考虑简易查询和数据冗余的平衡
    [User]=[UserId, Realname]
    [Subject]=[SubjectId, Name, Description]
    [Question]=[QuestionId, Title, Content, SubjectId]
    [Choices]=[ChoiceId, QuestionId, Content, IsAnswer, Order]
    [Exam]=[ExamId, UserId, SubjectId, StartTime, EndTime, Questions, RightAnswerQuestions, WrongAnswerQuestions]