我正在寻找一种方法来显示标签/关键字的排名/统计数据。我试过了,但没有成功。我很了解PHP,但我对如何使用PHP/MYSQL获得关键字的统计数据感到困惑。
像这样:http://bit.ly/gHLXXo(又名http://www.torrentpond.com/stats/keywords)。
请解决我的问题。
编辑:我刚刚创建了一个关键字表…与(ID, Keywords, time, view)列并使用一些查询得到结果。但是运气不好……我不知道该怎么办。我是否需要每天添加30列,或者我是否需要使用序列化将数据库存储为数组?有什么解决办法吗?
编辑2:我不需要图表或图表;我只需要关键词trends
您需要这样的sql查询:
SELECT COUNT( * ) AS `Rows` , `keyword_id`
FROM `keywords_table`
GROUP BY `keyword_id`
ORDER BY `Rows` DESC
LIMIT 0 , 30
其中"Rows"=该关键字的行数,"keyword-id"=关键字的id或名称。
返回该关键字出现次数最多的前30个关键字。
第一步应该考虑生成统计数据需要哪些数据。
您将需要跟踪单个关键字(或关键字集)。然后,每次使用其中一个关键字时,将在统计表中插入一条记录,该记录标识该关键字及其使用日期/时间。当搜索关键字是新的时,您将在关键字列表中创建一个新的关键字条目,并在"使用关键字"表中创建一个条目。
聚合处理需要计算每个关键字在相关期间的使用频率。你可以每天都这样做;您不会回顾性地添加新记录。给定随时间存储的聚合数据,您可以计算位置(排名)和位置变化。如果需要,可以按天、周、月进行汇总。聚合数据将与操作数据存储在单独的表中。一旦基本的时间单位(可能是一天,也可能是一个小时)过去了,您可以考虑是否删除原始的原始数据—在完成第一步聚合之后。