排名表
- ID,主键
- RANK,等级或级别,1 为最高,3 为最低
- MIN_SCORE,达到排名所需的最低点数或 XP
NAME,等级的关联名称
Rank Table +----+------+-----------+-------------------------+ | ID | RANK | MIN_SCORE | NAME | +----+------+-----------+-------------------------+ | 1 | 1 | 18932 | Editor-in-Chief | | 2 | 2 | 15146 | Senior Technical Writer | | 3 | 3 | 12116 | Senior Copywriter | +----+------+-----------+-------------------------+
排名表
- ID,主键
- FK_MEMEBER_ID,成员主键的外键
- FK_RANK,作者排名表排名列的外键(顶部)
SCORE,会员当前获得的分数或 XP
Ranking Table +-----+--------------+---------+-------+ | ID | FK_MEMBER_ID | FK_RANK | SCORE | +-----+--------------+---------+-------+ | 1 | 1 | 1 | 17722 | | 2 | 2 | 2 | 16257 | | 3 | 3 | 3 | 12234 | +-----+--------------+---------+-------+
在我的课堂上,我存储了排名——与排名表中的排名相匹配——并关联了最低分数;RANK 作为键,MINIMUM_SCORE 作为值。
当成员的分数 (XP) 更新(上/下)时,我想根据下面的数组测试更新后的分数,以确定他们的排名是否也需要更新。
private $scores = array('3' => '12116', '2' => '15146', '1' => '18932',);
使用更新后的分数,我如何从上述数组中确定相关排名?
一切都开放审查,这是我第一次创建排名系统,所以我希望能做对:)