Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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 - Fatal编程技术网

用php创建分析图表

用php创建分析图表,php,mysql,Php,Mysql,我正在用php和mysql开发一个web应用程序。我的网站上有视频,用户可以上传他们的视频 现在,我想通过为视频视图创建简单的分析图表来增加交互性 图表将包含每个月的视图。问题是我不知道从哪里开始 有谁能告诉我将每个月的视频视图存储在数据库中,然后以条形图的形式查看的逻辑吗?(就像google analytics所说的每月或每周的访问者数量一样)有一个包含视频id、计数、月份和年份列的表格。 视频id、月份和年份组合为唯一键 每当观看视频时(按要求的编程术语),请尝试插入视频id 1、月份和年份

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

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

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


有谁能告诉我将每个月的视频视图存储在数据库中,然后以条形图的形式查看的逻辑吗?(就像google analytics所说的每月或每周的访问者数量一样)

有一个包含视频id、计数、月份和年份列的表格。 视频id、月份和年份组合为唯一键

每当观看视频时(按要求的编程术语),请尝试插入视频id 1、月份和年份。 检查是否存在唯一密钥冲突。如果您这样做了,则不用插入,而是使用count+1更新计数

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


一旦你有了这张表,你就可以得到该月份和年份的特定视频的总数

有一个表,列有video_id、count、month和year。 视频id、月份和年份组合为唯一键

每当观看视频时(按要求的编程术语),请尝试插入视频id 1、月份和年份。 检查是否存在唯一密钥冲突。如果您这样做了,则不用插入,而是使用count+1更新计数

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


一旦你有了这张表,你就可以得到该月份和年份的特定视频的总数

谷歌图表将非常适合你所要做的事情。我自己用。只需使用PHP json_encode输出统计数据

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


谷歌图表将非常适合你所期待的工作。我自己用。只需使用PHP json_encode输出统计数据

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


何时计算视图数?


计算视图时,必须定义。可能最好的方法是分析某个用户访问视频的时间间隔、视频播放的时间长度,以及可能的一些身份识别器(如他的用户代理),以便能够在IP地址后区分多个用户(如果用户未登录)

插入视图


一旦决定是否计算视图,就必须将其插入数据库。这取决于您使用的数据库和表结构。看一看教程,或者如果你认为你可以做得更多,看一看,这可以更安全和有用

为了能够分析每月统计数据,您必须在每个视图中插入一个时间戳。最后,您只需选择指定日期的值(在您的情况中,是最后一个月)

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

显示视图


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

创建图表


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

如何实际显示数据对您是开放的。它可以是一些非常简单的东西,有表格的东西,或者你可以使用一些东西,比如创建图形作为图像。我个人使用JpGraph来处理类似的事情。需要一些努力,但值得付出努力


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

何时计算视图?


计算视图时,必须定义。可能最好的方法是分析某个用户访问视频的时间间隔、视频播放的时间长度,以及可能的一些身份识别器(如他的用户代理),以便能够在IP地址后区分多个用户(如果用户未登录)

插入视图


一旦决定是否计算视图,就必须将其插入数据库。这取决于您使用的数据库和表结构。看一看教程,或者如果你认为你可以做得更多,看一看,这可以更安全和有用

为了能够分析每月统计数据,您必须在每个视图中插入一个时间戳。最后,您只需选择指定日期的值(在您的情况中,是最后一个月)

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

显示视图


因为数据库中的每个视图都有一个条目,所以最好创建一个自动作业,用视图总数更新另一个表。这将减少负载,并防止用户立即看到视图计数(如果是这样,可能会有所帮助)