Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Рейтинг участников / 2 сообщений из 2, страница 1 из 1
15.06.2014, 10:46:17
    #38669563
TuxShot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рейтинг участников
Здравствуйте. Вопрос навеян данной темой .

Нужна ваша помощь. Сам не могу справиться.

Есть таблица:
id | name | reiting
1 | Иван | 345
2 | Петр | 2
3 | Федор | 5672
4 | Саша | 24
...

Я делаю вывод в цикле сортировку по убыванию столбца reiting (PHP код внизу)

Получается вывод так:
id | name | reiting
3 | Федор | 5672
1 | Иван | 345
4 | Саша | 24
2 | Петр | 2
...

Здесь все верно сортируется. И мне чтобы показать место которое заняли парни я делаю через $i++.

Но у мне нужно сделать вывод места в рейтинге для каждой строки.

Я находил решение:
Код: sql
1.
SELECT COUNT(*) FROM tablica WHERE reiting > (SELECT reiting FROM tablica WHERE id = '$id')

.
Оно рабочее, но только в том случаи если у строк в столбце reiting не совпадают значения (а они будут совпадать, т.к. этот рейтинг постоянно обновляется +1).

Нужно сделать вывод места чтобы была выборка по столбцу reiting, а если значения совпадают то сортировать по id.

P.S. Вот какой у меня запрос при выводе в цикле.
Код PHP:
Код: sql
1.
2.
3.
4.
5.
6.
$a=mysql_query ("SELECT * FROM tablica WHERE reiting ORDER BY reiting DESC LIMIT 0, 10");
$b=mysql_fetch_array($a);
$c=mysql_query("SELECT * FROM tablica ORDER BY reiting DESC LIMIT 0, 10");
$i = 1;
while ($rat=mysql_fetch_array($c))
echo 'У парня '.$rat['name'].' рейтинг равен '.$rat['reiting'].' Место в рейтинге: '.$i++ ;
...
Рейтинг: 0 / 0
15.06.2014, 12:52:18
    #38669594
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рейтинг участников
TuxShotНужно сделать вывод места чтобы была выборка по столбцу reiting, а если значения совпадают то сортировать по id.

P.S. Вот какой у меня запрос при выводе в цикле.
Код PHP:
Код: sql
1.
2.
3.
4.
5.
6.
$a=mysql_query ("SELECT * FROM tablica WHERE reiting ORDER BY reiting DESC LIMIT 0, 10");
$b=mysql_fetch_array($a);
$c=mysql_query("SELECT * FROM tablica ORDER BY reiting DESC, id LIMIT 0, 10");
$i = 1;
while ($rat=mysql_fetch_array($c))
echo 'У парня '.$rat['name'].' рейтинг равен '.$rat['reiting'].' Место в рейтинге: '.$i++ ;

Ну так и сделайте, кто ж мешает-то?
а желтое - срочно выкинуть :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Рейтинг участников / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]