调查问卷选择题在数据库中怎样建表

调查问卷选择题在数据库中怎样建表,第1张

如果能确定选项最多就是6个,可以考虑建一个表,字段定义为:题目编号(PK)、题干、选项1、选项2……选项6

如果不能确定选项最多几个或者不想使用以上方法,可以考虑建两个表:

题目表字段:题目编号(PK)、题干

选项表字段:题目编号、选项号、选项

其中,选项表的题目编号字段可以设置与题目表的外键关联,选项表的题目编号和选项号构成复合主键

数据库的设计本人认为可以这样,提交表单应该再设置一个隐藏域,储存题目ID,例如

" name="an_id">

处理页面可以使用将获取到的答案数组

$_POST['itm']进行遍历,用循环$value查找question,可以使用函数strpos(),该函数如果返回数字,则是正确答案,如果返回false,则是错误答案

if(isset($_POST['an_id'])){

$an_id = $_POST['an_id']

$qus_sql = "select `question` from `vote_answer` where id = $an_id"

$query = mysql_query($qus_sql)

while($row = mysql_fetch_row($query)){

$question = $row[0]

}

$user_question = $_POST['itm']

foreach($user_question as $value){

if(strpos($question,$value){

echo '正确答案'

}else{

echo '错误答案'

}

}

}全手写代码,有错误请百度HI我!

首先你要理清逻辑,现在有学生、题目(不同的题目类型可以用一个字段来区分,不需要每种类型的题目都要新建一个表)、试卷三个实体表;

学生-试卷,一个学生可能会有很多试卷,因此是一对多关系;

试卷-题目,一个试卷有多个题目,一个题目可能出现在多张试卷上,因此是多对多关系;

学生和题目没有直接关系;

因此学生和试卷的关系最好的方式是在试卷表中设置外键对应学生编号(当然你新建一张表来存放他们之间的关系肯定也没问题);

试卷和题目是多对多关系,因此你只能多加一张试卷和题目的对应表来描述他们之间的关系。

这种解决方案需要四张表:学生表、题目表、试卷表、题目-试卷关系表;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6426630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存