|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2010, 13:00 | #1 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
PHP + MySQL рейтинг
Объясните, пожалуйста, уважаемые программисты, как на PHP можно создать рейтинг чего либо.
Допустим, рейтинг оценок. Предположем, в БД есть таблица, в которой 2 столбца: "имя ученика" и "сумма всех его оценок". При просмотре информации об ученике, мне надо узнать какой у него номер в рейтинге. Как это можно реализовать? Укажите, пожалуйста, направление.
No name. Just Linel.
|
02.05.2010, 14:12 | #2 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
<table border='1' align='center' bordercolor="#999900" class='soft'>
<tr> <td align='center' class="style3" >Ник</td> <td align='center' class="style3">Рейтинг</td> </tr> <?php $result= mysql_query ("SELECT id,nick,rating FROM users"); $myrow = mysql_fetch_array ($result); while ( printf (" <td align='center'> %s</td><td><p align='center' > %s </p><td><p align='center' > %s</p> </td><td><p align='center' > %s </p></td> </tr> ",$myrow["nick"],$myrow["rating"]); ) { ($myrow= mysql_fetch_array ($result)); } ?></table> Тут будет всех пользователей или учеников из таблицы выдёргивать и вставлять в таблицу. Последний раз редактировалось cheef; 02.05.2010 в 14:15. |
02.05.2010, 15:57 | #3 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
Нет, вы меня не так поняли. Мне надо, запросом выбрать данные об 1 из учеников. И мне нужна не сумма его оценок, а именно рейтинг. Какой он по своим показателям: 1-ый, 2-ой, 3-ий?
Как вариант, можно конечно запросом выбрать инфу обо всех учениках, отсортировать по убыванию по сумме оценок, а потом уже искать в массиве нужного ученика. Далее можно определить порядковый номер элемента массива, в котором он находится. Но а если таких учеников будет 1000 или 10000? Может можно как нибудь избежать такой нагрузки на БД?
No name. Just Linel.
Последний раз редактировалось Linel; 02.05.2010 в 16:01. |
02.05.2010, 16:16 | #4 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
Данные об 1 учение можно выбрать с помощью ввода id
запрос такой ("SELECT * FROM users WHERE id='1'") или ("SELECT * FROM users WHERE id='$id'"). А по показателям нужно условие создавать. |
02.05.2010, 16:37 | #5 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
Да проблема то не в запросе. Ну допустим выбрал я данные об ученике. Сумма оценок у него n. Как вычислить, какой по рейтингу он будет.
То есть если в базе у меня 3 ученика: Сидоров, сумма оценок - 30; Воробьев, сумма - 25; Петров, сумма - 46. Если я выбираю Сидорова, то у меня должно показывать, рейтинг: 2-ой.
No name. Just Linel.
Последний раз редактировалось Linel; 02.05.2010 в 16:40. |
02.05.2010, 17:05 | #6 |
Заблокирован
Регистрация: 10.04.2010
Сообщений: 145
|
как раз-таки дело в запросе
PHP код:
PHP код:
Последний раз редактировалось Vertexxx; 02.05.2010 в 17:41. |
02.05.2010, 17:39 | #7 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
Просто мне не надо выводить список всех учеников. Нужно только одного.
Ладно. Сформулирую подругому мою задачу. На сайте пользователю за различные действия начисляют очки. Есть страница просмотра профиля пользователя. Там должны показываться так же его набранные очки + позиция в топе. Вот как вычислить эту позицию??
No name. Just Linel.
Последний раз редактировалось Linel; 02.05.2010 в 17:44. |
02.05.2010, 17:45 | #8 |
Заблокирован
Регистрация: 10.04.2010
Сообщений: 145
|
Создавай массив по своему желанию и вызывай его ячейку. Тут особо-то и не нужно ничего громоздить - всё легко и просто
|
02.05.2010, 18:17 | #9 |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
А если пользователей очень большое кол-во? Не будет создавать нагрузку на БД?
No name. Just Linel.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Php + MySQL | Чародей Феникс | Помощь студентам | 0 | 29.03.2010 22:31 |
PHP и MySQL | D_dd | Помощь студентам | 1 | 04.07.2009 22:45 |