如何计算观看次数?

时间:2010-04-13 18:29:46

标签: php mysql ajax

就在昨天我完成了一个提供视频观看的网站。 但现在我需要显示每部电影的观看次数。我从来没有写过这样的东西,所以我不知道该怎么做。


也许我必须在mysql数据库中添加一个字段,并在每次打开视频时增加它? 但我使用flash播放器,我不能写剧本onclick播放器。 所以,你能给我一个想法吗? 感谢

4 个答案:

答案 0 :(得分:2)

最好的方法可能是解析您的网络服务器日志,并查找Flash何时请求视频流(每晚cron作业)。我猜您正在使用预先存在的Flash视频播放器,在单击PLAY时,您可能无法修改Flash以推送服务器请求以更新视图计数,也不建议您使用它,因为您可能会切换到另一个玩家或HTML5流媒体。

正如我已经建议的那样,我也同意,只需在您的“视频”表中添加“view_count”并递增它,您就可以一步完成(无需检索,添加和更新)

UPDATE video SET view_count = view_count + 1

另请注意,如果您在加载视频页面时显示您的视频数量,请确保从搜索机器人(例如google)中排除网页浏览量,因为您的一半或更多视图计数可能最终成为搜索机器人。您可以找到搜索机器人浏览器字符串列表,以便了解要查找的内容here

答案 1 :(得分:1)

我会创建一个名为video_views的表格,让它包含正在查看的视频的ID。然后,我使用Flash的ExternalInterface功能调用JavaScript函数,该函数将通过ajax命中远程URL以向video_views添加新记录。

我过去曾经做过几次这样的事情并且一直运作良好。您还可以在视频表格中保留view_count值,并在每次观看视频时增加该值。

<强> [编辑]

支持跟踪每个视图的一个论点是能够为每条记录添加时间戳,并进一步了解峰值流量时间等事项。

答案 2 :(得分:0)

另一种方法是通过使用CustomLog指令实时传递web(Apache)Logs实时脚本

CustomLog |/var/www/view_count.php common

这将允许实时统计。不确定你是否需要这些。

答案 3 :(得分:0)

如下所示:

    $viewd=$results['viewd'];
    $viewd+=1;
    mysql_query("update user set viewd = '$viewd' where id='1'");