| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Рейтинг новости |
| Автор: DioNiR 9.7.2007, 16:55 |
| Может вопрос и обсуждался но не нашёл подходящего. Тута уже не первый раз вижу как в Системах делают Рейтинг новостей. Пользователь может добавлять свой рейтинг к каждой новости. Как проголосовать и как это занести в БД я умею. Проблема в другом как это правильно вывести. В таблице у меня есть 5 столбов: rating rating2 rating3 rating4 rating5 rating_votes - сколько всего проголосовало. Собственно 5 вариантов для голосования. Вот мне надо вывести не всё голосование всех вариантов. А только 1 которого больше. |
| Автор: Leoo 9.7.2007, 17:06 |
| Нууу, вообще этот вопрос скорее к БД чем к РНР, а так можно сделать 5 запросов (по запросу на каждый рейтинг) и потом сравнить которого больше. |
| Автор: DioNiR 9.7.2007, 17:17 |
| Ага и зачем же делать эти 5 запросов когда я их и так могу вывести при выводе новости в цикле. Мне собственно нужно показать принцип сравнения этих данных. |
| Автор: GZep 9.7.2007, 17:20 |
| зечем же тогда так много столбцов! можно одно поле, где будет храниться число с плавающей точкой (например 3.2) потом просто округлять его при выводе. Используется всего одна колонка + можно сделать колонку для подсчета проголосовавших. НО: перед занесением результата надо сделать выборку и посчитать новый средний голос. |
| Автор: UADeveloper 9.7.2007, 17:35 |
Вот интересует математическая часть. Вот скажем в таблице уже эсть рейтинг (например 4.0 и 10 проголосовавших) если придет еще один юзер и выберет 3, как просчитать новый рейтинг? |
| Автор: DioNiR 9.7.2007, 17:48 |
| Разве это много столбов? Я стараюсь привести запросы в БД к минимуму. А такое кол-во столбов позволяет точно определить за что и кто проголосовал. Позволяет точно определить за что голосовали больше. Вот только мне надо узнать как можно определить за что больше проголосовало из этих 5. |
| Автор: DioNiR 9.7.2007, 18:04 |
| хм... когда так разжувал я понял про что ты и как это работает. Попробую задействовать твой вариант. |
| Автор: UADeveloper 9.7.2007, 18:43 |
| GZep, пасиб за идею ;) |