Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何实施";“报告/标志评论”;_Php_Mysql_Symfony_Silex - Fatal编程技术网

Php 如何实施";“报告/标志评论”;

Php 如何实施";“报告/标志评论”;,php,mysql,symfony,silex,Php,Mysql,Symfony,Silex,我正在使用Silex(不确定是否相关)构建博客,我想添加用户报告评论的可能性 最初,我只是在我的注释表中添加了一个布尔标记的列,在默认情况下将其设置为false,并在用户单击“报告注释”按钮时将其切换为true。我的计划是能够轻松地向管理员显示所有标记的评论。但我意识到,任何用户都可以去报告每一条评论,淹没了管理小组 所以我想尝试不同的方法。我想计算一条特定评论被标记的次数,这样我可以在管理面板的“标记的评论”部分反映出来,这样管理员就可以快速看到哪些评论被一个孤独的巨魔标记,哪些评论被大量标记

我正在使用Silex(不确定是否相关)构建博客,我想添加用户报告评论的可能性

最初,我只是在我的
注释
表中添加了一个布尔
标记的
列,在默认情况下将其设置为
false
,并在用户单击“报告注释”按钮时将其切换为
true
。我的计划是能够轻松地向管理员显示所有标记的评论。但我意识到,任何用户都可以去报告每一条评论,淹没了管理小组

所以我想尝试不同的方法。我想计算一条特定评论被标记的次数,这样我可以在管理面板的“标记的评论”部分反映出来,这样管理员就可以快速看到哪些评论被一个孤独的巨魔标记,哪些评论被大量标记,值得关注。
我还想记住某个特定用户标记了自己的哪些评论,这样我就可以在他已经标记的评论上为他禁用“报告评论”按钮

这里有两个问题:

  • 这是一个好方法吗
  • 我如何在数据库中实现它?一条评论被标记的次数应该很容易统计,但是一个用户标记的所有评论的不断增长的列表又如何呢

谢谢

一个很好的方法是创建一个新表,以最小的userid和commentid保存。为用户标记注释时要跟踪的任何其他信息添加其他列

此方法的好处是,它允许您在sql中使用联接来提取用户及其标记的所有注释,或者提取注释及其标记的所有用户。它还允许您通过直接查询该表来进行快速计数


userid和commentid列上的索引将随着表的增长而保持简洁。

如果您担心的是一个巨魔而不是黑客,您可以在浏览器中使用cookie和一点javascript来实现它。如果您想做到防弹,您可以将标志存储在单独的表中,还可以存储标志日期、IP和用户ID。那么您就有了做出正确决策的所有数据。我是否应该将所有内容都放在
标志
表中?我可以看到一个带有
flag\u id
flag\u date
user\u id
comment\u id
列,这样我只需在该表中计算给定注释id的标志数量,就可以轻松获取给定用户id的所有标志。是这样吗?当我可以将用户IP的id存储在
flags
表中时,为什么要存储用户IP?flag\u id可能是主键,comment\u id将在comments表中键入FK,然后日期为datetime,如果用户在发表评论时已登录,则为user\u id。如果用户不需要登录来标记注释,则ip列可能有用。所以你可以在显示页面时过滤“可疑”评论好的,谢谢!用户暂时需要登录到flag,稍后我可能会更改它,因此我肯定会存储用户IP以防万一。:)好主意,再加上警方可能希望在出现问题时得到这些信息