2011-09-02 69 views
0

我想爲通過郵件地址標識的每個用戶添加積分,積分添加到用戶每當他做任務,不同點爲不同的任務,並需要每天總結所有積分,這是我正在努力的,還有一件事是我在zend上工作的。爲每個用戶添加積分

public function sumPoint($user_email) 
{ 



    $select = $this->getAdapter()->select() 
      ->from('tbl_points', array('sum(points)')) 
      ->where('emailAddress = ?', $user_email) 
      ->order('createdOn DESC'); 


     $totalpoints= $this->getAdapter()->fetchOne($select); 
    } 

我不確定它是否正確請讓我知道。

+1

這不行嗎? – Rijk

+0

因此,每個用戶在db表中都有許多行,每個行都有'points'列中的值?你想要一個特定用戶的「點數」值的總和? – ChrisA

+0

不,它返回null – reddy

回答

0

爲什麼不在數據庫中使用視圖來處理這個問題?

喜歡的東西:

CREATE VIEW V_USERS AS (
    SELECT a.*, 
    (SELECT SUM(points) FROM tbl_points where tbl_points.emailAdress = a.emailAdress) sumPoints 
    FROM your_user_table a 
); 

,然後在Zend的,你的認證表設置爲「V_USERS」,所以你會得到點始終確定的數量,它會避免你做你自己處理。