За последние 24 часа нас посетили 59219 программистов и 1742 робота. Сейчас ищут 956 программистов ...

Как сделать рейтинг PHP?

Тема в разделе "PHP для новичков", создана пользователем faerkot, 29 июн 2016.

  1. faerkot

    faerkot Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    18
    Симпатии:
    1
    Адрес:
    Иркутск
    Mysql таблица:
    id | id_login | param

    Первые два поля, думаю, понятны.
    Третье поле - число, которое зависит от действий пользователя, может то увеличиваться, то уменьшаться. Значения могут быть одинаковы у нескольких пользователей.

    Как построить рейтинг по полю param, чтобы указать, на каком месте находится пользователь?
    Обычно такой рейтинг делают в играх, типа:

    1 место - 500 параметров, игрок фаеркот
    2 место - 400 параметров, игрок Имябот
    3 место - 300 параметров, игрок PERS150
    .........
    100000 место - 1 параметр, игрок ИМЯ

    Первую страницу можно сделать по такому запросу:
    Код (Text):
    1. SELECT * FROM `table` ORDER BY `param` DESC LIMIT 10
    И на странице циклом перебираем, увеличивая место в рейтинге на единицу.

    Но как сделать остальные страницы и узнать текущее место у пользователя? Не выводить же, допустим, миллион пользователей одним запросом...
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Таким вопросам место в новичках. Ибо тут явное неумение работать с алгоритмом и данными.
    У тебя есть кол-во позиций на страницу, есть номер текущей страницы. Перемножь что-то на что-то и получи первое место текущей страницы. А дальше прибавляешь по единичке и усё.
     
    faerkot нравится это.
  3. faerkot

    faerkot Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    18
    Симпатии:
    1
    Адрес:
    Иркутск
    А если у нескольких игроков одинаковый param, то тогда они будут постоянно меняться местами же? Как этого избежать?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @faerkot при выводе этих игроков просто пиши что они на одном месте
     
    faerkot нравится это.
  5. faerkot

    faerkot Активный пользователь

    С нами с:
    24 май 2016
    Сообщения:
    18
    Симпатии:
    1
    Адрес:
    Иркутск
    Спасибо! Тему можно закрыть.
     
  6. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Обычный пейджер в топике тема висит вроде.