0
嗨我有一个方法来防止二次投票的方式在人们可以投票或投票下来评论的网站的问题。像Stackoverflow! :)防止第二票在评论投票
问题是我如何跟踪评论是否已被登录用户投票。让我们假设这是一个在线电子商务商店的产品评论。下面是我想:
- 全部点评数据被存储在一个名为表 '评论'
- 字段名:REVIEW_ID,PRODUCT_ID,USER_ID,标题,描述,TIME_CREATED,up_votes,down_votes,up_voters,down_voters
- up_votes和down_votes包含的票数投票向上或向下
- up_voters和down_voters包含的人谁或格式1101.1102.1103与USER_ID 1101,1102和1103
当一个人点击向上投票按钮时,系统将检查当前用户的user_id是否与up_voters中的任何人匹配。一个爆炸函数将把1101.1102.1103变成一个数组,in_array()将被用来检查用户是否已经投票。
有没有更好的方式去做这件事?
太棒了!我会把选票放在一个单独的表格中......我想知道什么时候扩展5000个产品,每个产品有50票,这是一个25K行的表格。不知道如果通过表搜索将会很慢 – Nyxynyx 2011-06-10 03:40:10
明智地选择您的主键(PK)。基于PK的数据访问将快速,因为AFAIK大多数数据库在PK上使用唯一索引。您也可以将product_id移动到投票表。 – Lobo 2011-06-10 03:50:37