Страница 1 из 1

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

Добавлено: 17 авг 2012, 19:33
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 ?

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

Добавлено: 19 авг 2012, 11:31
ukhov
С какой целью?

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

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

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

Добавлено: 20 авг 2012, 20:24
Александр
catamount5
Пронумеровать можно, но не лучше ли будет?

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

SELECT COUNT(*) WHERE score>ОЧКИ_ПОЛЬЗОВАТЕЛЯ

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

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

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

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

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

Добавлено: 22 авг 2012, 11:51
Александр
catamount5
Как раз таки предлагаю не нумеровать, а использовать написанный запрос с COUNT.