|
|
|
| В таблице есть поле рейтинг, подскажите как узнать на каком месте это рейтинг?. т.е.
есть записи рейтинга:
232
123
443
12
если выбрано из таблици 123, то значит на третьем месте (1-е: 433, 2-е: 232)
Спасибо. | |
|
|
|
|
|
|
|
для: serenya1983
(15.09.2010 в 15:14)
| |
$i = 0;
while()
{
$i++;
echo $i . '-е: ';
}
|
это не ваш случай? | |
|
|
|
|
|
|
|
для: deimand
(15.09.2010 в 15:24)
| | через PHP будет очень очень долго если в таблице миллионы записей, можно ли средствами MySQL узнать положение в рейинге!??
А так же можно ли через MySQL подсчитать общий рейтинг, т.е. сложить вся строки поля таблицы!? | |
|
|
|
|
|
|
|
для: serenya1983
(15.09.2010 в 15:28)
| | А че тут сложного???
<?
//Подключаемся к базе
//Достаем значения из таблицы юзеры или рейтинг(на ваше усмотрение)
$table = reyting; //указываем название таблицы
$num = 10; //указываем кол-во выводимых рейтингов
//Делаем запрос
$select = mysql_query("SELECT * FROM $table ORDER BY reyting DESC LIMIT $num ");
$row = mysql_fetch_array($select);
//Создаем цикл который будет выводить список рейтинга.
$i = 0; //Куда же без традиционного $i )))
while($row = mysql_fetch_array($select))
{
$i++;
echo 'Место в рейтинге- '.$i.' Имя юзера '.$row['name']. 'Его рейтинг '.$row['reyting'].;
}
?>
|
| |
|
|
|
|
|
|
|
для: Гавриленко Дмитрий
(21.09.2010 в 20:39)
| | Что так можно это понятно!
Я умел ввиду что бы запрос к БД выдал место в рейтинги, а не простой перебор через цикл PHP. Если человек на 345 674 месте, то так будет перебираться очень долго!!! | |
|
|
|
|
|
|
|
для: serenya1983
(15.09.2010 в 15:14)
| | Если дан сам рейтинг ($rating):
SELECT COUNT(*) FROM users WHERE rating > $rating
Если дан id пользователя, то сначала нужно вытащить рейтинг
SELECT COUNT(*) FROM users WHERE rating > (SELECT rating FROM users WHERE id = $user_id)
Правда, по-моему, еще +1 надо к этому числу сделать (COUNT(*) + 1 as count) - тогда будет искомое место. Но надо проверять (в голове вычислить с утра ресурсов еще нет, как нет времени проверить на рабочей базе). | |
|
|
|
|
|
|
|
для: neadekvat
(22.09.2010 в 07:36)
| | Спасибо, так получилось! | |
|
|
|