There should be a way to accomplish what you are trying to do using nothing but SQL, but I'm not really a SQL expert so I can't really think of how that would be accomplished. As for a PHP solution... something like this?
$SQL = 'SELECT * FROM rank ORDER BY Points DESC';
$result = mysql_query($SQL);
$rank = 0;
while ($row = mysql_fetch_array($result)) {
$members[$rank] = $row;
$rank++;
if ($row['id'] == $id_you_are_looking_for) {
echo ("ID found. Your rank is $rank.");
}
}
This would assume that you want your array to start at 0 and your ranks to start at 1. If you want them both to start at 1, then move $rank++; up a line. If you want them both to start at 0, move it to the bottom of the while loop.