显示问题&使用php将mysql数据库的答案转换为前端的html表单

时间:2010-12-28 07:51:41

标签: php mysql arrays forms

我在mySQL数据库中有3个表。

questions_table包含以下字段:

  1. question_id (问题的唯一ID)
  2. question_name (问题的名称)
  3. question_positionID (的位置 问题,我需要这个,因为 管理员可以更改 问题的立场 前端的html表单。我用 这样可以显示问题 适当地形成)
  4. questions_users_relationship_table包含以下字段:

    1. questions_answers (这是该字段 它存储用户的位置 以前端形式回答)
    2. user_id (用于连接 用户表,加载时 特定用户对表格的回答)
    3. question_id (这已经习惯了 参考中的问题 questions_table)
    4. users_table包含以下字段:

      1. user_id (唯一ID)
      2. 用户名(顾名思义,用户名)
      3. 密码(顾名思义,密码)
      4. 所以,嗯..之所以在数据库中有这3个表,是因为我必须在网站上建立一个管理部分,允许管理员在表单中切换和更改问题的位置。因此,question_table中的question_positionID字段的原因。在管理员部分列出问题及其各自的答案,管理员可以进行职位变更我没有问题(我使用ajax drag n drop来更新question_positionID字段上的mysql表)..

        我的问题在于前端html表单本身。因为在数据库中,我只将问题及其答案存储在各自的表中。并且没有存储它是什么类型的问题(例如:性别问题可能使用单选按钮作为其答案(男/女)或可能是地址字段,其中国家字段的答案为下拉框形式)..所以,在前端html表单中,我不确定如何列出问题及其对各个user_id的答案,基于question_positionID仍然会正确显示正确的表单元素(例如:带下拉列表的问题列表下拉框中的值,单选按钮中的答案问题将在相应的单选按钮中正确检查等等)..

        我相信很多人都会喜欢知道怎么做..我不是PHP和mySQL的专家,而是通过示例和在线教程慢慢学习它。所以如果你们能够对此有所了解,我将不胜感激我的问题..

1 个答案:

答案 0 :(得分:1)

您应该添加另一个包含答案的表格:

答案

  • answer_id
  • question_id
  • ANSWER_TEXT

如果有多个正确答案,您还必须在表格中添加“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);
   }
} 

这只是一个例子。溶剂取决于您使用的框架/模板引擎。