![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Oughtem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.2.2009 Репутация: нет Всего: нет |
Прошу помощи знатоков. Есть некий плагин для некой КМС и некий файл этого плагина. Этот файл обрабатывает данные из базы и строит топ самых активных пользователей на сайте учитывая Дату Регистрации, кол-во комментариев, кол-во страниц, файлов и постов, определяя переменную "Рейтинг" и выводя таблицу с TOP10 юзеров
Сам файл вот (извиняюсь за простыню - спойлера не нашёл)
Всё считает, обрабатывает, но... В этом фале работает функция krsort($user_array), и работает коряво - она должна выводить сортировку по рейтингу, а выводит сортировку по дате регистрации юзера. Оч. прошу, подскажите, где подкрутить, чтоб сортировало по рейтингу - его же высчитываем. Заранее спасибо. |
|||
|
||||
ViniPuh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 24.8.2007 Репутация: 1 Всего: 1 |
||||
|
||||
Oughtem |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.2.2009 Репутация: нет Всего: нет |
хм... так мне же и надо отсортировать по ключу в обратном порядке, т.е., чтоб сверху были те, у кого рейтинг выше. Или я вас не правильно понял?
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Oughtem, Нужно ответить себе на вопрос. В какое место уходят индексы MySql, если данные уже прочитаны и переложены в массив PHP.
После этого почитать про другие методы сортировки... хотя, полезнее, для этой задачи, почитать про SQL... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Oughtem |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.2.2009 Репутация: нет Всего: нет |
ksnk, я попробовал uasort, usort, uksort. Работает, сортирует по рейтингу, но везде ругается на значение ключа функции (как я понял) Warning: Wrong parameter count for uksort() in ..../activepanel.inc.php on line 108 line 108 это
что-то не правильно... Это сообщение отредактировал(а) Oughtem - 4.2.2009, 10:15 |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
нет. смотри документацию по ksort и uksort И ksort, и uksort принимают по два аргумента. И РНР именно это и говорит:
дык, у него индексом выступает как раз рейтинг: |
|||
|
||||
Oughtem |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.2.2009 Репутация: нет Всего: нет |
Это классно, что вы заставляете думать, но я вообще ничего не понимаю в PHP, хотя оч. хочу научиться хотя бы "читать" код. Я так понимаю, что кусок кода, где мне надо рыться это
я хочу сам разобраться без прямой подсказки типа "замени это на это". Но я не понимаю до конца суть данного участка кода. Вот как я вижу этот код 1. uksort сортирует массив заданный этим: $user_array[$rating*100][$row['user_id']] = array("str" => ..... Индексом выступает [$rating*100], что такое [$row['user_id']] и array("str" => - я не пойму. 2. Идёт "обход" массива (это я читал) с помощью foreach. Зачем оно нужно я тоже не пойму. Но ладно, дальше. $user_array должен восприниматься как $k, $k как $i Зачем - не понятно. 3. Суть этого участка
для меня вообще покрыта мраком. Вот так и кручу этот код ![]() "Прочитайте" его пожалуйста, чтоб понятно было суть каждой переменной и действий над ними. Это сообщение отредактировал(а) Oughtem - 4.2.2009, 15:54 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |