[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: определения места из всего списка
zx16
Ребята, как выполнить определение места пользователя. к примеру есть таблица оценок :user posted image
uid - это иды пользователей которых оценивали.
ball - это оценка.

еще есть таблица пользователей:user posted image

id - id пользователя
tip - это тип пользователя, оценивается только тип 4, а два не трогаем..

Рейтинг для одного пользователя реализовал таким способом, но это только его индивидуальный рейтин = сумма оценок / сумма оценивших .

$o=(sprintf("%01.1f", $db->one_data('SELECT AVG(ball) FROM '.DB_PREFIX."ocenka WHERE uid='$user[id]'")));


количество нужных нам пользователей, среди которых отбираем лучших:
$k=$db->one_data('SELECT COUNT(*) FROM '.DB_PREFIX."users WHERE id AND tip=4");

как это все объединить, чтобы получить к примеру UserGOOD (1-й из 50)
. помогите, весь день в css разбирался, на php голова вовсе не варит уже) да и слаб я в этом очень.. ЗАРАНЕЕ БЛАГОДАРЕН!
zx16
sad.gif
zx16
Ребят, ну помогите, есть же тут умные люди
Valick
zx16, задание нифига непонятное


_____________
Стимулятор ~yoomoney - 41001303250491
zx16
Цитата (Valick @ 25.06.2014 - 15:25)
zx16, задание нифига непонятное

ну нужно из всего количества юзеров, у которых есть баллы определить - кто певый из них, кто второй. к примеру всего юзеров 20 , юзер Андрей 3й из 20
Valick
zx16, если количество баллов одинаковое, то как быть?


_____________
Стимулятор ~yoomoney - 41001303250491
kjdgh
Цитата (Valick @ 25.06.2014 - 20:50)
zx16, если количество баллов одинаковое, то как быть?

у кого глаза красивее, тот и первый.

_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



zx16
Цитата (kjdgh @ 25.06.2014 - 21:04)
Цитата (Valick @ 25.06.2014 - 20:50)
zx16, если количество баллов одинаковое, то как быть?

у кого глаза красивее, тот и первый.

ну сделать условие проверки даты регистрации, кто старше тот и первее
kjdgh
ORDER BY оценка, дата DESC


_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



zx16
Цитата (kjdgh @ 25.06.2014 - 22:01)
ORDER BY оценка, дата DESC

ну оценка же не одна, там таблица с оценками.. у одного юзера много оценок от разных пользователей
Zzepish
zx16
Тебе написали выше выборку по оценке и дате
kjdgh
avg(оценка)...

_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



zx16
а как удалить тему? все равно толку от нее нет, нет смысла форум загаживать
sergeiss
zx16, во все детали ответов не вникал, но что сразу "бросается в глаза" - ты не отвечаешь толком на вопросы. Их не зря задают, однако ж. Человек хочет помочь тебе, но он не до конца понял задачу. Задал вопрос - ты не ответил или ответил как-то абстрактно. Сам при этом, такое ощущение, что не думаешь, а ждешь окончательное решение.
Думаешь, при таких условиях интересно кому-то тебе помогать???

И кстати. Никогда не используй транслит при написании имен переменных. Например, твой ball, как я понял, подразумевает "балл" по-русски. Но ball английское означает "мяч", а вовсе не "балл".
Поэтому либо все без исключений названия должны быть русские, записанные транслитом, либо все - английские.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
zx16
Цитата (sergeiss @ 26.06.2014 - 14:10)
zx16, во все детали ответов не вникал, но что сразу "бросается в глаза" - ты не отвечаешь толком на вопросы. Их не зря задают, однако ж. Человек хочет помочь тебе, но он не до конца понял задачу. Задал вопрос - ты не ответил или ответил как-то абстрактно. Сам при этом, такое ощущение, что не думаешь, а ждешь окончательное решение.
Думаешь, при таких условиях интересно кому-то тебе помогать???

И кстати. Никогда не используй транслит при написании имен переменных. Например, твой ball, как я понял, подразумевает "балл" по-русски. Но ball английское означает "мяч", а вовсе не "балл".
Поэтому либо все без исключений названия должны быть русские, записанные транслитом, либо все - английские.

Да в том то и дело, что я не сильно разбираюсь в php, я описал задачу выше, прикрепил скриншоты , описал еще код, которым пользуюсь для получения некоторых данных, таких как ОБЩЕЕ КОЛИЧЕСТВО пользователей рейтингуемых и их ИНДИВИДУАЛЬНЫЙ рейтинг. то что мне предлагают тут совсем не то, order by подошло бы если бы у меня была таблица вида:



__________________
| id | ball | time_reg |
-------------------------
| 1 | 4 | 12.01.13 |
-------------------------
| 2 | 3 | 13.05.13 |
-------------------------



да, тогда возможно, но у меня бал не в таблице с юзерами, у меня для балов отдельная таблица, как показал в топе, на скрине. общий бал юзера складывается из всех оценок в его адрес. то есть Вася ПУПКИ и у него 7 оценок от 7ми пользователей, 4 5 1 3 4 3 5 и индивидуальный рейтинг для Васи ПуПКИНА я получаю из этой таблицы балов вот таким методом:
$o=(sprintf("%01.1f", $db->one_data('SELECT AVG(ball) FROM '.DB_PREFIX."ocenka WHERE uid='$user[id]'")));


те кто знают, без труда поняли что ball это много значений в таблице для одного uid (ид юзера) и получаем мы этот индивидуальный рейтинг так:
заходим на личную страницу юзера, его id из адресной строки (что в браузере) приравнивается названию столбца uid из таблицы ocenka и потом делается выборка из таблицы значений ball всех которым подходит uid суммирует эту выборку и берет среднее. Тем самы мы получаем для Васи Пупкина индивидуальный рейтинг = 3.57. а что нам даст ORDER BY ????? упорядочит балы по убыванию или упорядочит юзеров ? да ничего. тут либо делать отдельную таблицу, где конкретно писать ид юзера и его индивидуальный рейтинг для последующих действий. через крон делать обновления этой таблицы раз в два дня. это как вариант, но я спрашивал про трюк чтоб на лету все определить . у нас таких Вась пУПКИНЫХ десять человек, и хочется определить какой на каком месте из этих десяти - это образно. Вот вы говорите что я на вопросы отвечаю абстрактно или не отвечаю. Но почитав и просмотрев первое мое сообщение все ясно и так, и подробно. а ответы которые идут после состоят из одного двух слов типа "ORDER BY оценка, дата DESC" - очень все понятно!!! на единственный нормальный вопрос "zx16, если количество баллов одинаковое, то как быть?" я ответил нормально и понятно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.