如何显示使用PHP和MySQL的网站上哪些日期和时间最活跃?

如何显示使用PHP和MySQL的网站上哪些日期和时间最活跃?,php,mysql,visitor-statistic,web-statistics,Php,Mysql,Visitor Statistic,Web Statistics,我想在我的网站上做一个条形图,显示一周中哪几天和哪几次活动/登录次数最多 所以我想知道是否有人可以给我一些建议,他们将如何做到这一点?我应该如何组织数据库表,收集哪些数据,以及如何使用PHP显示记录为条形图的数据。最好的方法可能是为每次访问或登录存储一个日期时间戳。然后,您可以使用巧妙的SQL查询按自己的意愿对信息进行分组(一周中的几天、一天中的几次或任何其他) 因此,数据库表可能只需要一个主键和访问的时间戳,尽管您也可以存储有关用户或操作的信息 对于演示,请尝试谷歌图表(http://code

我想在我的网站上做一个条形图,显示一周中哪几天和哪几次活动/登录次数最多


所以我想知道是否有人可以给我一些建议,他们将如何做到这一点?我应该如何组织数据库表,收集哪些数据,以及如何使用PHP显示记录为条形图的数据。

最好的方法可能是为每次访问或登录存储一个日期时间戳。然后,您可以使用巧妙的SQL查询按自己的意愿对信息进行分组(一周中的几天、一天中的几次或任何其他)

因此,数据库表可能只需要一个主键和访问的时间戳,尽管您也可以存储有关用户或操作的信息

对于演示,请尝试谷歌图表(http://code.google.com/apis/chart/)或者一个基于javascript的图表库(有很多,我对Highcharts有很好的经验)

ps:既然你把这篇文章标记为MySQL,我想这就是你选择的数据库。下面是一个可以使用的表创建语句

CREATE TABLE `visits` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `created` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

最好的方法可能是为每次访问或登录存储一个日期戳。然后,您可以使用巧妙的SQL查询按自己的意愿对信息进行分组(一周中的几天、一天中的几次或任何其他)

因此,数据库表可能只需要一个主键和访问的时间戳,尽管您也可以存储有关用户或操作的信息

对于演示,请尝试谷歌图表(http://code.google.com/apis/chart/)或者一个基于javascript的图表库(有很多,我对Highcharts有很好的经验)

ps:既然你把这篇文章标记为MySQL,我想这就是你选择的数据库。下面是一个可以使用的表创建语句

CREATE TABLE `visits` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `created` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

如果你必须自己做,而不是使用预先存在的软件包。从小处做起。只需创建一个表,记录每个请求、请求人、时间、引用人以及您想要的任何信息

一旦您记录了数据,如果您仍然不想使用像Google图表这样的东西,您可以尝试使用css和html制作自己的简单PHP图表

条形图可能很简单,但需要一些数学知识才能正确绘制。最简单的方法是把它们翻转过来。您通常会将其视为建筑物,但在本例中,您希望将其视为蠕虫状的管道。管子的长度可以表示点击次数、浏览量、访问量等

我将为整个图表定义一个固定的宽度,并更改条形图的宽度以表示最大值的百分比。因此,如果最大值为1000,而该条为500,则该条为图表宽度的50%


我希望这为你指明了正确的方向。这样做对于学习新概念非常有用。

如果你必须自己做,而不是使用预先存在的软件包。从小处做起。只需创建一个表,记录每个请求、请求人、时间、引用人以及您想要的任何信息

一旦您记录了数据,如果您仍然不想使用像Google图表这样的东西,您可以尝试使用css和html制作自己的简单PHP图表

条形图可能很简单,但需要一些数学知识才能正确绘制。最简单的方法是把它们翻转过来。您通常会将其视为建筑物,但在本例中,您希望将其视为蠕虫状的管道。管子的长度可以表示点击次数、浏览量、访问量等

我将为整个图表定义一个固定的宽度,并更改条形图的宽度以表示最大值的百分比。因此,如果最大值为1000,而该条为500,则该条为图表宽度的50%


我希望这为你指明了正确的方向。这样做对学习新概念很有帮助。

使用服务器日志进行可视化可能更容易。Processing()擅长于类似的事情,或者尝试使用非Java版本

但是,为了解决您的问题,正如前面提到的,请存储每次访问的数据时间(如果您是在独特的访问之后,也可以存储IP),然后编写一个脚本来提取记录并计算每小时的总数。您可以使用彩色div,高度设置为点击数(或分数)。实际上,这基本上是一个计数器,不是吗


是的,我的建议是查看处理过程,它很容易获取并生成漂亮的结果。

使用服务器日志进行可视化可能更容易。Processing()擅长于类似的事情,或者尝试使用非Java版本

但是,为了解决您的问题,正如前面提到的,请存储每次访问的数据时间(如果您是在独特的访问之后,也可以存储IP),然后编写一个脚本来提取记录并计算每小时的总数。您可以使用彩色div,高度设置为点击数(或分数)。实际上,这基本上是一个计数器,不是吗


是的,我的建议是查看处理过程,它很容易获取并产生好看的结果。

首先告诉我们您已经拥有哪些数据?你会记录网站访问者吗?您是否使用过任何分析软件包(如google analytics)?我的主要问题是如何组织我的数据库表。然后,我将用PHP记录登录/访问发生的日期和时间,并使用该数据在网站上显示条形图,以便访问者可以看到我的网站在什么时候最活跃(这是一个聊天页面)。我不确定你所说的我已经拥有的数据是什么意思。先告诉我们你已经拥有的数据吧?你会记录网站访问者吗?您是否使用过任何分析软件包(如google analytics)?我的主要问题是如何组织我的数据库表。然后我会记录下比赛的日期和时间