用php创建分析图表

时间:2012-05-20 17:16:35

标签: php mysql

我正在使用php和mysql开发一个Web应用程序。我的网站上有视频,用户可以上传他们的视频。

现在,我想通过为视频视图创建简单的分析图表来增加交互性。

图表图表将包含每个月的观看次数。问题是我不知道从哪里开始。

有人可以告诉我将视频视图存储在每个月的数据库中然后以条形图的形式查看的逻辑吗? (就像谷歌分析所说,每个月或每周都有访问者数量)

3 个答案:

答案 0 :(得分:1)

Google Charts将非常适合您的目标。我自己用它们。只需用PHP json_encode输出统计数据。

然后使用cron作业获取当前数量的veiws或其他统计信息,并将它们存储在数据类型文本行中。

https://developers.google.com/chart/

答案 1 :(得分:0)

有一个包含video_id,count,month和year列的表格。 video_id,月份和年份合并为唯一键。

每当观看视频时(以请求的编程术语),尝试插入video_id,1,月份和年份。 检查您是否获得了唯一的密钥违规。如果你这样做而不是插入你用count + 1更新计数。

要获取月份和年份,您可以使用MYSQL日期函数。 video_id将从前端发送,计数可以轻松递增。

获得此表后,您始终可以获得该月份和年份的特定视频的计数。

答案 2 :(得分:0)

何时计算视图?


您必须定义何时计算视图。可能最好的方法是分析某个用户访问视频的时间差距,播放时间以及可能的某些标识符(例如他的用户代理),以便能够区分IP地址后面的多个用户(如果用户不是'登录)。

插入视图


一旦确定是否计算了视图,就必须将其插入数据库中。这取决于您使用的数据库和表结构。看看PHP MySQL教程,或者如果您认为自己可以做得更多,请查看PDO,这样可以更加安全和有用。

为了能够分析每月统计信息,您必须插入带有时间戳的每个视图。最后,您只需选择指定日期的值(在您的情况下,即上个月)。

这要求您至少知道如何设置数据库表,在其中插入数据。

显示观看次数


由于您的数据库中的每个视图都有一个条目,因此最好的方法是创建一个自动作业,该作业使用总视图更新另一个表。这样可以减少负载,还可以防止用户立即查看视图计数(如果有人试图查看计数,可能会有帮助 - >他无法立即看到他是否成功)。

创建图表


首先,您必须选择值。假设您的用户能够指定他想要查看视图的日期范围,您必须使用此范围,使用它查询数据库,然后继续执行结果。如何选择它取决于您希望如何显示它。如果您想要显示每月的每一天,则必须按日对视图进行分组。

您实际显示数据的方式对您开放。它可能是非常简单的东西,有桌子的东西,或者你可以使用类似JpGraph的东西来创建图形作为图像。我个人使用JpGraph这样的东西。需要一些努力,但值得努力。

我希望这能给你一个如何解决问题的想法。如果您有更具体的问题,请发布一些代码以及您尝试执行的操作,因为 解决方案不存在。