PHP“你有()你的剪辑的新评论”,怎么样?

时间:2010-03-12 17:13:25

标签: php

我想为我的用户做一个函数,所以在index.php上有例如:

您的剪辑有2条新评论

我该怎么做?我的意思是我想要想法以最简单的方式做到这一点。视频表是member_videos,评论表是member_videocomments,表中的注释通过“videoID”连接,这是member_videos中列的id。

我应该做经典,制作一个全部为0的字段,直到用户看到它的1或我应该做什么。

5 个答案:

答案 0 :(得分:3)

每条评论的unread标志的一个替代方案是用户记录上的last_read_comments时间戳。每当他们阅读新评论时,请将时间戳更新为当前时间。当他们登陆您的主页时,查询比该时间戳值更新的所有评论。

答案 1 :(得分:0)

为什么不在根据类似

之类的评论表加载视频时进行检查
SELECT COUNT(*) FROM member_videocomments WHERE videoID = videoIDLoaded;

然后将结果集作为整数返回并检查该整数是否等于0,如果是则显示0,否则查询数据库以获取结果集并显示页面上的所有注释你喜欢。

答案 2 :(得分:0)

只需更新表格member_videocomments中的字段,例如readbyuser。将其保留为零,直到用户查看该特定注释。

$result = mysql_query("SELECT id FROM member_videocomments WHERE !readbyuser");
$num_rows = mysql_num_rows($result); 

答案 3 :(得分:0)

你自己给出了答案。只需在实际向用户显示注释时标记注释。假设不会同时查看新评论,而是按视频剪辑查看,我认为时间戳方法不是一个好的解决方案,因为当用户打开其中一个新评论的视频后更新时间戳时,您将丢失跟踪其他新评论。

答案 4 :(得分:0)

我有类似的情况,我正在使用is_read标志。将注释添加到数据库后,is_read将设置为0。当用户登录时,我会检查是否有任何未读评论(在这里我抓住了未读评论的数量,以便我可以显示它)。然后,当他们查看评论时,我会抓取评论的ID并运行查询以将is_read设置为1

马修的时间戳解决方案也很好,所以真的取决于你感觉更舒服。