我有一个网站,用户可以评价页面上留下的评论。每条评论都有一个唯一的ID(例如402934)如果我希望用户能够对所述评论进行缩略/缩略显示,我可以看到如何制作一个简单的计数器代码来跟踪缩略图的数量与拇指-downs,但我怎样才能确保每个用户只评论一次评论。我将制作一个数据库,每个评论数字作为一行,并在该行有一个所有的用户排名大拇指和所有的用户排名拇指下来,但我有一种感觉是不是最好的办法。我的下一个想法是为每个用户制作一个表格,然后让一个数组显示用户排名的所有评论。它可能会与user_id
,comment_id
和vote TINYINT(1)
跑得更快这种方式(例如,从用户的150分排名检查经文注释的6050个排名,但我仍然觉得自己有一个更好的办法...任何想法?允许用户评价一次PHP MySQL
1
A
回答
7
创建新表。
的1
在vote
的值是一个竖起大拇指的0
在vote
的值是一个大拇指朝下。
有一个UNIQUE KEY约束上(comment_id, user_id)
。
如果您按照上述步骤操作,将很容易检查用户是否对特定评论投了票,如果您希望能够快速(如在快速执行中)查看用户的所有评论已使您还应该添加INDEX
至user_id
。
当用户的投票,你可以使用REPLACE INTO
到user_comment_thumbs
,如下面的:
REPLACE INTO `user_comment_thumbs` (user_id,comment_id,vote)
VALUES (@user_id, @comment_id, @vote);
如果用户已经做出了表决表中的条目将被更新,否则新行将被插入。
+0
SWEET :)正是我所需要的! – 2011-12-23 15:31:01
+0
@refp很棒的回答! – 2011-12-23 15:33:02
相关问题
- 1. PHP:他们的IP地址允许用户评论,并率只有一次
- 2. php strip_tags允许评论
- 3. 只允许一次
- 4. 评论模块:允许匿名用户回复评论
- 5. 只允许用户为每部电影创建一个评论
- 6. 只允许点击一次
- 7. 锁定用户,不允许mysql更新
- 8. PHP MySQL的使用命令不允许
- 9. 只允许用户一次选择一个checkButton?
- 10. 允许在表1中用户编辑表2中的PHP/MySQL
- 11. PHP/MySQL - 允许用户为CMS创建自定义表单域
- 12. 使用GIT第一次:允许其他用户访问项目
- 13. Facebook PHP SDK不允许登录用户
- 14. 允许用户在PHP中提交HTML
- 15. 允许PHP的一切/给PHP用户的根权
- 16. PHP XPATH评价
- 17. 允许用户每分钟输入一次
- 18. 允许单个用户一次编辑Google电子表格
- 19. 允许用户每天只访问一次UIButton(考虑时区)
- 20. 允许3次尝试在游戏 - PHP
- 21. 用户不允许地理位置 - 第二次通知用户
- 22. 评价用户ID为真
- 23. 一次只允许一个会话
- 24. 一次只允许有一个UITableViewCellAccessoryCheckmark
- 25. MySQL - '允许NULL'的用法
- 26. 用户具有MySQL权限但仅允许选择,但phpMyAdmin允许编辑
- 27. SQL - 允许用户使用
- 28. 允许用户使用Ansible
- 29. 允许用户选择一个目录
- 30. 允许用户在一个形式
@ManseUK一个cookie很容易被用户删除。更好,更持久的解决方案,在您可以控制的地方,数据库解决方案如下所示,请参阅refp – 2011-12-23 15:22:04