आपको दो काउंटर चाहिए
- निरपेक्ष काउंटर (हमेशा 1, 2, 3, 4, 5, आदि)।
- रैंक काउंटर - यह 1 से गिना जाता है लेकिन यदि स्कोर समान हैं, तो यह अपडेट नहीं होता है। जैसे ही स्कोर भिन्न होते हैं, यह
absolute counter
. के साथ अपडेट हो जाता है .
नमूना कोड
$counter = 1; // init absolute counter
$rank = 1; // init rank counter
// initial "previous" score:
$prevScore = 0;
while ($go = mysql_fetch_array($avg))
{
// get "current" score
$score = $go['AVGFCT_10'];
if ($prevScore != $score) // if previous & current scores differ
$rank = $counter;
// else //same // do nothing
echo "Rank: {$rank}, Score: {$score}<br>";
$counter ++; // always increment absolute counter
//current score becomes previous score for next loop iteration
$prevScore = $score;
}
आउटपुट:
Rank: 1, Score: 97.8
Rank: 2, Score: 96.1
Rank: 2, Score: 96.1
Rank: 4, Score: 90.7