为每个用户添加点数

时间:2011-09-02 08:27:02

标签: php mysql zend-framework sum

我想为每个通过邮件地址识别的用户添加积分,每当他执行任务时都会将积分添加到用户,针对不同任务的不同积分需要每天汇总所有积分,这就是我正在尝试的以及我正在研究的另一件事。

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 个答案:

答案 0 :(得分: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”,这样您就可以获得积分数,这样就可以避免您自己完成此过程。