2010-04-13 34 views
2

就在昨天,我完成了一個網站,它提供了視頻觀看。 但現在我需要顯示每部電影的觀看次數。我從來沒有寫過這樣的東西,所以我不知道該怎麼辦。如何計算瀏覽次數?


也許我必須在mysql數據庫中添加一個字段,並在每次打開視頻時增加一個字段? 但我使用Flash播放器,並且我無法編寫腳本onclick播放器。 所以,你能不能給我一個想法...... 感謝

回答

2

最好的方法可能是解析你的網絡服務器的日誌,並尋找Flash何時請求視頻流(夜間cron作業)。我猜你正在使用預先存在的Flash視頻播放器,在這種情況下,您可能無法修改Flash,以便在單擊PLAY時推送服務器請求更新查看次數,我也不推薦它,因爲您可能會切換到另一個玩家或HTML5流媒體。

正如已經暗示我也同意,只需添加一個「VIEW_COUNT」你的「視頻」表,並增加它,你可以用(無需檢索,添加和更新)

UPDATE video SET view_count = view_count + 1 
做到一步到位

請注意,如果您在加載視頻頁面時觸發視頻計數,請確保從搜索漫遊器(例如:google)中排除頁面視圖,因爲您的一半或多個視圖計數最終可能會成爲搜索漫遊器。你可以找到一個搜索bot瀏覽器字符串列表,所以你知道要找什麼here

+0

@TravisO我想我必須創建一個新的表,id_video和ip_user,否則一個客戶端可以增加多次。 是否可以重寫「確保通過查看瀏覽器版本標籤排除任何搜索漫遊器結果」的部分,我不明白這是什麼以及爲什麼。謝謝 – Simon 2010-04-13 20:38:19

+0

重寫。如果您想要更可靠的視頻計數,那麼使用專門的表格記錄每個視圖是最好的,因爲您可以排除某些視頻,重複觀看者等。 – TravisO 2010-04-14 14:16:57

1

我想創建一個表名爲video_views或東西,有它包含視頻的ID被查看。然後,我使用Flash的ExternalInterface功能來調用JavaScript函數,該函數接着通過ajax打開遠程URL以向video_views添加新記錄。

我已經在過去做了幾次,它總是運行良好。您也可以在視頻表格中保留view_count的值,並在每次查看視頻時增加值。

[編輯]贊成跟蹤每一個人觀點將時間戳添加到每個記錄,並進一步深入瞭解的東西就像交通高峯時間的能力的

一個參數。

+0

@inkedmn coul'd您提供有關的ExternalInterface的使用一些鏈接? – Simon 2010-04-13 18:54:00

+2

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html – inkedmn 2010-04-13 18:56:48

0

另一種方式去了解它是通過使用CustomLog指令這樣

CustomLog |/var/www/view_count.php common

這將允許實時統計通過網絡(Apache)的日誌信息通過一個腳本的實時。不知道你是否需要這些。

0

取象下面這樣:

$viewd=$results['viewd']; 
    $viewd+=1; 
    mysql_query("update user set viewd = '$viewd' where id='1'");