为动态网页计算网页浏览量的最佳方法是什么,例如下面的网址示例?我正在使用PHP和MySQL。简短的解释会有所帮助。谢谢!
答案 0 :(得分:10)
通常表结构如下所示:
表格页:
id | name | ...
==========================
1 Some Page
2 Some Other Page
table pages_views:
page_id | views
================
1 1234
2 80
其中pages_views在page_id
用于递增视图的MySQL语句如下所示:
INSERT INTO `pages_views` SET views=1 WHERE page_id=?
ON DUPLICATE KEY UPDATE views=views+1 ;
由于pages_views.page_id
是唯一的,因此如果页面的行不存在,则会创建该行;如果它存在(这是“重复键”子句),计数器将递增。
我在这里选择了两个单独的表,因为CMS页面通常不会经常更新(因此,它们的负载主要是读取),而页面视图会被读取和更新,以及每个页面视图。
答案 1 :(得分:4)
好吧,您只需在页面表中添加一个字段pageviews
,然后对每个页面加载进行UPDATE pageviews = pageviews +1 WHERE id = 1
查询
答案 2 :(得分:4)
为了按天/周/月/年查看统计数据,我制作了两张桌子。第一个存档所有访问该网站,我的页面和ID保存在同一行。第二个表记录了统计数据,例如Piskvor描述的。
好处是我可以随时查看我想要的任何页面和ID的统计信息(但随着时间的推移,这将是很多行...)或者我可以简单地查看总浏览量。对于我网站的访问者,我提供了第二个表格中的信息,但我的管理员面板充分利用了第一个表格。
statsEach
- statID
- page (example: page 100 is index.php, or 210 is news.php)
- id (example: 1 is news story 1, 2 is news story 2,...)
- date
- time
- user
和
statsTotal
- statTotalID
- page
- id
- total
我不知道你需要/想做什么,或者即使我的桌面结构最好,但这对我有用。
答案 3 :(得分:3)
这是我的代码,当我打开页面时它正常工作或当我刷新页面时,页面视图的增量为1.如果page_id不存在,它将插入一个views = 1的记录,如果page_id存在它会增加视图
`INSERT INTO pages_views ( pages_id, views) VALUES ( $page_id, 1) ON DUPLICATE KEY UPDATE views=views+1`
使用PDO,您将拥有类似的内容
$sql = "INSERT INTO pages_views ( pages_id, views) VALUES ( :pageId, 1) ON DUPLICATE KEY UPDATE views=views+1";
$q = $conn->prepare($sql);
$q->execute(array(':pageId'=>$pageId));
答案 4 :(得分:0)
只需在当前投放的帖子上增加一个整数。
答案 5 :(得分:0)