應用程序寫入Zend Framework 1.12
。 我的影片可供url
下:如何統計每個視頻的獨特視圖
test.com/videos/video/id/1
test.com/videos/video/id/2
test.com/videos/video/id/3
...
在數量是從MySQL數據庫生成的唯一參數。 我想統計每個視頻的視圖(唯一)。
在VideosController
我的視頻動作看起來像:
public function videoAction() {
$video_id = $this->_getParam('id', 0);
$hits = new Application_Model_DbTable_Hits();
$hit = $hits->fetchRow($hits->select()->where('belongs_to_video = ?', $video_id));
if (!isset($_SESSION['views']) || !($_SESSION['views'] == $video_id){
$_SESSION['views'] = $video_id;
$newViews = $hit->count + 1;
$data = array('count' => $newViews,);
$hits->update($data);
}
}
它的工作原理,但是,沒有一個正確的方式。在訪問特定的視頻後(不刷新網站之後),在去另一個視圖之後也會升高(在不刷新網站之後),但在回到第一個視圖之後,他們再次上升(他們不應該)。
任何幫助表示讚賞。
爲什麼在會話中保持意見? – Naincy
確實會話不適合這個你需要一個表「視圖」,你在哪裏存儲video_id,ip,datetime ..當你可以使用這個查詢來爲每個視頻選擇獨特的視圖(獨特的ip)'SELECT video_id,COUNT(DISTINCT ip )從視圖GROUP BY video_id ORDER BY video_id' –