什麼是最好的方式來計算動態頁面的頁面瀏覽量,如下面的url例子?我使用PHP和MySQL。簡單的解釋會有所幫助。謝謝!PHP和MySQL最好的方式來計算動態頁面的頁面瀏覽量
http://www.example.com/posts/post.php?id=3
什麼是最好的方式來計算動態頁面的頁面瀏覽量,如下面的url例子?我使用PHP和MySQL。簡單的解釋會有所幫助。謝謝!PHP和MySQL最好的方式來計算動態頁面的頁面瀏覽量
http://www.example.com/posts/post.php?id=3
通常表的結構是這樣的:
表頁:
id | name | ...
==========================
1 Some Page
2 Some Other Page
表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頁面通常不會經常更新(因此,它們的加載大部分是讀取),而頁面視圖會在每個頁面視圖中讀取和更新。
這個工作,如果我使用mod_rewrite? – ddb 2010-08-30 10:01:32
@ddb只要你能識別你的頁面。其實mod_rewrite與你的問題很少有關係 – 2010-08-30 10:02:54
只需在您當前投放的帖子上增加一個整數。
好了,你可以在現場pageviews
只需添加到您的網頁表,並在每個頁面加載
這很有效,是的。我提出了一個單獨的表格,因爲CMS內容不會經常改變(主要讀取「頁面」),而視圖始終改變(讀取和寫入'pages_views')。 – Piskvor 2010-08-30 10:47:36
找到要查看統計資料的一天着想做UPDATE pageviews = pageviews +1 WHERE id = 1
查詢/周/月/年,我做了兩張表。第一個檔案全部訪問該網站,我的頁面和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
我不知道你需要/想這樣做,否則即使我的表結構是最好的,但是這對我的作品是什麼。
不錯。適用於跟蹤每個用戶的使用模式。 – Piskvor 2010-08-30 10:48:51
這是我的代碼,它在我打開頁面時正常工作,或者當我刷新頁面時,頁面視圖遞增1.如果page_id不存在,它將插入一個記錄,視圖= 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));
'localhost'手段。我懷疑這個鏈接只能在你的電腦上運行,因爲其他人沒有相同的代碼:) – Piskvor 2010-08-30 09:55:13
當我在一個真實的服務器上'http:// www.example.com /'lol :)時,我會改變它 – ddb 2010-08-30 09:56:48
啊, 好。以爲有什麼我可以看到的地址:D – Piskvor 2010-08-30 10:50:00