Добавление очков для каждого пользователя - PullRequest
0 голосов
/ 02 сентября 2011

Я хочу добавить баллы для каждого пользователя, идентифицированного по почтовому адресу, Баллы начисляются пользователю, когда он выполняет задание, разные баллы для разных заданий и мне необходимо суммировать все баллы каждый день, это то, что я пытаюсьи еще одна вещь, над которой я работаю над 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 Ответ

0 голосов
/ 02 сентября 2011

Почему бы вам не использовать представление в вашей базе данных для обработки этого?

Что-то вроде:

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'', так что вы всегда будете получать количество баллов, и вам не придется выполнять этот процесс самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...