Как получить номер строки таблицы mysql?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
catamount5
Сообщения: 63
Зарегистрирован: 10 авг 2010, 13:37

Как получить номер строки таблицы mysql?

Сообщение catamount5 »

Добрый день!

Есть таблица mysql из 3 столбцов:

Код: Выделить всё

uid     rate  coins34347   45      248595   32      194056   12      1
Чтобы получить данные по uid, я использую код:

Код: Выделить всё

$userUID=48595;$sql="SELECT * FROM $userstable WHERE uid=$userUID";$res = mysql_query($sql) or die(mysql_error());  $number = mysql_num_rows($res);if ($number != 0) {    $row=mysql_fetch_array($res);    $rateUser = $row['rate'];    $coinsUser= $row['coins'];}
А как получить номер строки таблицы, где у меня запись для uid 48595 ?
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Как получить номер строки таблицы mysql?

Сообщение ukhov »

С какой целью?
catamount5
Сообщения: 63
Зарегистрирован: 10 авг 2010, 13:37

Re: Как получить номер строки таблицы mysql?

Сообщение catamount5 »

ukhov писал(а):С какой целью?
Добрый день! В игре есть рейтинг 1 000 лучших игроков. Прежде чем получить тысячу лучших - я сортирую массив по очкам и получаю из него 1 000 первых uid. Но передо мной поставили задачу: если игрок не вошел в рейтинг 1 000 лучших, а стал, допустим 50 426-м, то сообщить об этом игроку. Вот я пока не знаю, как ее решить, не скачивая весь массив игроков. Может у кого есть оптимальное решение? Допустим, может как-то можно пометить строки при сортировке?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как получить номер строки таблицы mysql?

Сообщение Александр »

catamount5
Пронумеровать можно, но не лучше ли будет?

Код: Выделить всё

SELECT COUNT(*) WHERE score>ОЧКИ_ПОЛЬЗОВАТЕЛЯ
catamount5
Сообщения: 63
Зарегистрирован: 10 авг 2010, 13:37

Re: Как получить номер строки таблицы mysql?

Сообщение catamount5 »

Александр писал(а):catamount5
Пронумеровать можно, но не лучше ли будет?

Код: Выделить всё

SELECT COUNT(*) WHERE score>ОЧКИ_ПОЛЬЗОВАТЕЛЯ
Спасибо! Подумаю над этим.
Но у меня есть такой вариант, когда, допустим пользователей 30 имеют очки каждый по 40....
Вы предлагаете пронумеровать. Тогда придется каждый раз при сортировке перенумеровывать? Или есть проще вариант?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как получить номер строки таблицы mysql?

Сообщение Александр »

catamount5
Как раз таки предлагаю не нумеровать, а использовать написанный запрос с COUNT.
Ответить