= Каков наилучший способ сделать это? Я забираю 100 записей, заказанных по партитуре, для высокого списка баллов. Мне также нужно отменить рейтинг пользователей и указать на следующую позицию.Mysql fetch результаты и текущий ранг
В настоящее время я делаю это как так, но я не уверен, что это лучший способ сделать это
mysql_query("SELECT * FROM highScores ORDER BY score DESC");
Я перекручивание через эти результаты, чтобы показать высшие оценки. Затем, чтобы получить пользователь ранга и последующие пункты я делаю следующее
$rank = mysql_num_rows(mysql_query("SELECT id, score FROM highScores WHERE score>='$userScore'"));
Это получает меня звание, а затем я сделать еще один запрос для следующей позиции над пользователем и получать этот счет
$next_rank_score = mysql_fetch_assoc(mysql_query("SELECT score FROM highScores ORDER BY score DESC LIMIT " . ($rank-2) . ",1"));
Должен быть гораздо лучший способ сделать это, но я не могу думать об этом.
Удивительный собирается переварить это сейчас. Основная причина этого заключается в том, что я делаю слишком много звонков в базу данных, и я пытался это ограничить. Наложение большей нагрузки на сторону php не является проблемой вообще – Dave
Хорошо, я нашел проблему с этим. Если рейтинг пользователей не входит в верхние 11 баллов, то нет возможности получить очки в следующем ранге. Например, я нахожусь на 20-м месте, и я рассматриваю высокие оценки. Я не вижу, сколько очков мне нужно получить, чтобы попасть в 19-е место. – Dave
Спасибо за сообщение о проблеме. Я изменил код, чтобы перечислить 100 лучших баллов. – DanAllen