我在mySQL数据库中有3个表。
questions_table包含以下字段:
questions_users_relationship_table包含以下字段:
users_table包含以下字段:
所以,嗯..之所以在数据库中有这3个表,是因为我必须在网站上建立一个管理部分,允许管理员在表单中切换和更改问题的位置。因此,question_table中的question_positionID字段的原因。在管理员部分列出问题及其各自的答案,管理员可以进行职位变更我没有问题(我使用ajax drag n drop来更新question_positionID字段上的mysql表)..
我的问题在于前端html表单本身。因为在数据库中,我只将问题及其答案存储在各自的表中。并且没有存储它是什么类型的问题(例如:性别问题可能使用单选按钮作为其答案(男/女)或可能是地址字段,其中国家字段的答案为下拉框形式)..所以,在前端html表单中,我不确定如何列出问题及其对各个user_id的答案,基于question_positionID仍然会正确显示正确的表单元素(例如:带下拉列表的问题列表下拉框中的值,单选按钮中的答案问题将在相应的单选按钮中正确检查等等)..
我相信很多人都会喜欢知道怎么做..我不是PHP和mySQL的专家,而是通过示例和在线教程慢慢学习它。所以如果你们能够对此有所了解,我将不胜感激我的问题..
答案 0 :(得分:1)
您应该添加另一个包含答案的表格:
答案
如果有多个正确答案,您还必须在表格中添加“is_correct”列。
一种简单的方法,用于决定如何在前端显示可能的答案,将allow_multiple_answers列添加到questions_table中,并根据可能的答案数量决定是使用下拉列表还是单选按钮。
$question//the question
$answers //an array with the possible answers
$maxAnswersForRadio//maximum numbers of oprions to be displayed with radio buttons
if($question['allow_multiple_answers'){
//use checkboxes to allow mulltiple answers.
$html = generateCheckboxes($answers);
}
else{
if (count($answers<=$maxAnswersForRadio){
$html= generateRadioButtons($answers);
}
else{
$html=generateDropDownList($answers);
}
}
这只是一个例子。溶剂取决于您使用的框架/模板引擎。