ランク表
- 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',);
更新されたスコアを使用して、上記の配列から相関ランクを決定するにはどうすればよいですか?
すべてが精査に開かれています。ランキングシステムを作成するのはこれが初めてなので、うまくいくことを願っています:)