SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.09.2009 14:33:04

dbodrov
Участник
Зарегистрирован: 30.09.2009
Сообщений: 3

Номера рядов

Есть запрос, который выводит таблицу - лидеры по результативности в баскетбольной команде в порядке убывания:
имя - очки
------------
Иванов - 560
Петров - 523
Сидоров - 480
итд.

Нужно, чтобы ряды были пронумерованы:имя - очки
------------
1. Иванов - 560
2. Петров - 523
3. Сидоров - 480
итд.

Погуглил - попробовал сделать так:

set @n:=0;
select @n:=@n+1 as rownum, t.* from t;

Через phpmyadmin все прекрасно получается. Но когда пробую вывести на сайт через mysql_fetch_array - ничего не получается, таблица не отображается вообще...

Есть ли какой то стандартный способ, с помощью которого можно пронумеровать ряды результата запроса?

Неактивен

 

#2 30.09.2009 14:56:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Номера рядов

Именно так и делают. Надо только правильно в php написать:

$sql = "set @n=0";
$result = mysql_query($sql);

$sql = "select @n:=@n+1 as rownum, t.* from t";
$result = mysql_query($sql);
....

Неактивен

 

#3 30.09.2009 15:19:22

dbodrov
Участник
Зарегистрирован: 30.09.2009
Сообщений: 3

Re: Номера рядов

vasya написал:

Именно так и делают. Надо только правильно в php написать:

$sql = "set @n=0";
$result = mysql_query($sql);

$sql = "select @n:=@n+1 as rownum, t.* from t";
$result = mysql_query($sql);
....

Спасибо за решение. Честно говоря, я пока плохо разбираюсь в php\mysql, поэтому не всё понятно. Получается, будет 2 разных запроса? Что их тогда объединяет?
На всякий случай, запрос выглядит так:
SELECT SUM(pms_match_stats_player.value) AS total, AVG(pms_match_stats_player.value) AS avg, pms_match_stats_player.member_id, pms_member.member_lastname, pms_member.member_firstname
FROM pms_match_stats_player, pms_member WHERE pms_match_stats_player.member_id = pms_member.member_id AND stats_player_id=19 GROUP BY member_id ORDER BY total DESC LIMIT 0, 12

Отредактированно dbodrov (30.09.2009 15:19:40)

Неактивен

 

#4 30.09.2009 15:23:34

dbodrov
Участник
Зарегистрирован: 30.09.2009
Сообщений: 3

Re: Номера рядов

vasya написал:

Именно так и делают. Надо только правильно в php написать:

$sql = "set @n=0";
$result = mysql_query($sql);

$sql = "select @n:=@n+1 as rownum, t.* from t";
$result = mysql_query($sql);
....

Хотя, прошу прощения smile попробовал пару раз, всё получилось! Большое спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson