如何在数据库中保持民意调查?

时间:2012-01-14 02:28:37

标签: php mysql database apache

我想创建简单的民意调查管理器(PHP和Apache)。

我想要一些选项:

  1. 是或否(数据库中的布尔值)
  2. 选择自己的选项(?)
  3. answerbox(varchar 5000)
  4. 主持人有选项创建新池。他想要例如:

    • 两个是或否
    • 一个选择
    • 两个答案框。

    我如何将其保存在数据库中?我什么都不知道:(

1 个答案:

答案 0 :(得分:1)

以下是如何实施的示例:

两类问题 - select(包括是/否问题)和text

question_types
--------------
id   type
--------------
1    select
2    text

selects存储了所选问题类型的所有选项:

selects
---------------------------------------------
id   select_id option_desc
---------------------------------------------
1    1         yes
2    1         no
2001 500       optionX
2002 500       optionY

polls存储民意调查数据 - 每个答案的行,参考selects表格来选择问题。根据你的例子填写:

polls
-----
id poll_id type  select_id
-----------------------------
10 100     2     1
11 100     2     1
12 100     2     500
13 100     3
14 100     3

answers存储用户的答案。回答列selects.id对选择问题的引用,以及answers_texts.id对文本问题的引用:

answers
-----------------------------
id user poll_row_id answer
-----------------------------
1  5000 10          1
2  5000 11          2
3  5000 12          2002
4  5000 13          301
5  5000 14          302

answer_texts表存储文本问题的答案:

 answers_texts
 -----------------
 id  answer
 -----------------
 301 text1
 302 text2