我试图为了学习目的而制作类似http://strawpoll.me/的东西。 用户创建一个民意调查,因此民意调查可以根据需要保留选项。
我认为这不应该是一个问题,但我不确定如何在数据库中设置民意调查。 每个民意调查都为自己创造一张桌子吗? 或者是在同一个表中的民意调查,但是是由具有id的行插入的?在那种情况下,我不确定如何设置列..
我需要一个提示让我感动:)
答案 0 :(得分:3)
民意调查本身在表格poll
内。还有另一个名为poll_option
的表。我们假设我们有以下民意调查:
在poll
中,有:
id
,poll_name
,date_created
。然后,poll_option
将包含id
,option_name
,poll_id
。 poll_id
将成为此选项所属的民意调查。
当然需要投票,因此需要第三个表格:poll_votes
。 poll_vote
仅包含id
,date_created
和user_id
。 user_id
是用户的IP,cookie或会话密钥。 Straw Poll会保存一个名为uid
的cookie,以确定您是否已参与此投票。
全部放在一起:
TABLE: poll
id | poll_name | date_created
62 | Poll 1 | 2014-01-11 12:34:56
TABLE: poll_option
id | option_name | poll_id
844 | This is poll 1 | 62
844 | This is NOT poll 5 | 62
TABLE: poll_vote
id | user_id | date_created
1104 | 482424 | 2014-01-12 13:53:55