在笨

2012-12-18 70 views
0

一個行內的動態增量文章的觀點我有一個名爲計數器列在我的表稱爲文章在笨

的問題是我怎麼能增加價值在此列約1,所以在控制器或型號我將使用更新db函數。

E.g.我的想法是這樣的:

$id = 5; //article id (I will get that from the url or db, no problem with that) 
$this->db->update("current counter column value plus one where id column equals $id "); 

而且讓我們假設我得到的觀點的文章#:

$this->db->select_sum("counter")->get("articles"); 

我知道,我需要驗證用戶的IP,從而例如我不是爲每個頁面負載計數,而是隻在5分鐘後。不過那是另一回事了 ;)。我只需要完成這個問題。

回答

2

可以使用常規查詢(綁定的):

$sql = "UPDATE articles SET counter = counter + 1 WHERE id = ?"; 
$this->db->query($sql, array($id)); 

或者,使用AR:

$query = $this->db->update('articles') 
        ->set('counter','counter+1', FALSE) 
        ->where('id', $id); 

假作爲set()第三個參數告訴它不要逃避列名。
如果您只需增加,則不需要獲取視圖數量。