|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.05.2011, 20:49 | #1 |
Пользователь
Регистрация: 10.08.2010
Сообщений: 60
|
PHP + mysql, вывод записи и её место в рейтинге
Всем привет, есть такая задача:
В table есть поля: id, name, rating id - int уникальный (10) name - varchar (100) rating - int (10) Нужно каким то образом вывести запись (одну, по where), и с помощью поля rating вычислить её позицию среди всех в этой таблице. Пример вывода записи: (Ид: 5, Название: Тролли, Рейтинг: 1500, Позиция: 2) Как такое можно сделать? --- Пока придумал только кривой способ запихать всё в цикл и считать $i=$i+1 пока не дойдет до нужного id, и записать строку с нужным id в перменную, тогда в чем смысл было тревожить всю таблицу... |
31.05.2011, 23:23 | #2 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Поясните, что значит фраза
[QUOTE]с помощью поля rating вычислить её позицию среди всех в этой таблице[/ QUOTE] SELECT * FROM table WHERE id = 5 так?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
01.06.2011, 09:43 | #3 |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
я вижу два пути
1) переберать всю таблицу циклом for($i=0;$i<count($table);$i++) и условием и при выполнении нужного условия в $i будет лежать ваша нужная позиция. 2) делаем запрос аля SELECT * FROM table WHERE id=5 получаем рейтинг этой зписи пишем в $rating и делаем запрос SELECT count(id) FROM table WHERE rating > $rating в ответе получим количство записей в таблице где рейтинг больше чем тот что лежит в $rating, добавляем к нему 1 $rating++; \ $rating = $rating +1; и получаем искомый рейтинг. но тут есть один момент если у вас есть поля с одинаковым рейтингом то все они будут иметь одну и туже позицию. если уникально значений в поле рейтинга предусмотрена я бы выбрал способ номер 2 в противном случаем способ номер 1. но если таблица крайне большая встает вопрос о нагрузке при большом количестве запросов к скрипту.
думай как баг, действуй как баг, и ты найдешь баг )
|
01.06.2011, 10:42 | #4 |
Пользователь
Регистрация: 10.08.2010
Сообщений: 60
|
Да, mrgrudge, второй способ лучше, т.к запрос должен повторяться каждые 15 секунд и будет не хорошо пользоваться первым вариантом.
Спасибо! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
php mysql вывод записей | Delphinchik | JavaScript, Ajax | 5 | 27.01.2011 21:48 |
что не так с php кдом или с настройками MySQL+PHP | Jimmi | Помощь студентам | 2 | 27.12.2010 09:03 |
PHP. Как изменить значение записи в MySQL базе данных | SeRhy | PHP | 4 | 18.06.2009 12:21 |