就在昨天我完成了一个提供视频观看的网站。 但现在我需要显示每部电影的观看次数。我从来没有写过这样的东西,所以我不知道该怎么做。
也许我必须在mysql数据库中添加一个字段,并在每次打开视频时增加它? 但我使用flash播放器,我不能写剧本onclick播放器。 所以,你能给我一个想法吗? 感谢
答案 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'");