[英]Click counter php mysql?
嘿,我一直在尋找一種簡單的方法來跟蹤鏈接的單擊並在mysql數據庫中存儲鏈接被單擊的次數。 有人對如何做到這一點有扎實的態度嗎?
謝謝。
是的 您已將鏈接轉到站點上的重定向器腳本,該腳本將記錄插入到跟蹤表中,並將用戶重定向到最終鏈接位置。
您需要考慮的最大事情之一就是規模-根據您擁有的用戶數量,您可以執行以下簡單操作:
INSERT INTO visit_track_table (id, count, url) VALUES (1, 0, 'page.php');
UPDATE visit_track_table SET count=count+1 WHERE url='page.php';
這里的問題是必須為頁面的每個訪問者鎖定此行。
更好的方法是定義一個可伸縮的細分,該細分會定期重新計算以得出總體總數。 最簡單的方法是提供一個隨機后綴,以使更少的並發用戶鎖定同一數據庫行。
UPDATE visit_track_table SET count=count+1 WHERE url='page.php-N'
在此查詢中,如果要為每頁分配100行,則-N后綴將由調整后的參數生成,該參數的范圍從'-0'到'-100'。 N的最佳值取決於您的用戶群。
SELECT SUM(count) AS M FROM visit_track_table WHERE url LIKE 'page.php-%'
UPDATE visit_track_table SET count=M WHERE url='page.php'
編輯:是的,您需要有一個中間頁來記錄您要訪問的URL。
您可以使用ajax或退回頁面:
跳出:鏈接會轉發到計數器腳本,例如http://www.your-domain.com?click_count.php?forward=http://another-domain.com/destination.html
使用INSERT INTO clicks ('http://another-domain.com/destination.html',1) ON DUPLICATE KEY UPDATE clicks=clicks+1
類的sql進行INSERT INTO clicks ('http://another-domain.com/destination.html',1) ON DUPLICATE KEY UPDATE clicks=clicks+1
Ajax:您可以添加一個onclick javascript事件以向其發送ajax調用,也許是相同的click counter腳本,然后返回true以跟隨鏈接。
Ajax方法顯然需要javascript,這可能對您來說不夠強大,在這種情況下,退回腳本會很好用,並且確實不會引起注意
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.