Вы не зашли.
Мутная какая-то документация, непонятная...
Короче, ближе к телу
Получается, при установке надо делать так:
CREATE TABLE `XPREFIX_news` (
`id` int(11) NOT NULL auto_increment,
-- ...........тут еще что-то..................
`rating` int(10) NOT NULL default '0',
`votes` int(10) NOT NULL default '0',
`totalrating` int(10) NOT NULL default '0',
PRIMARY KEY (`id`),
-- ...........тут еще что-то..................
KEY `news_totalrating` (`totalrating`)
) ENGINE=MyISAM;
и всё, можно сортировать по totalrating?
Не в сети
Не в сети
ALTER TABLE `news` ADD INDEX `news_totalrating` ( `totalrating` )
Проверить использует ли MySQL индекс или нет, можно через explain
Понятно. Но:
Оператор ALTER TABLE обеспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.
А при установке CMS(т.е. при создании таблицы) мой вариант не будет работать?
В одном из мануалов, я читал что KEY является синонимом для INDEX, ну как-то так
Не в сети
ikv777vlg, твой вариант по идее работать должен, но проверить не помешает
Попробую...
А если сделать такой SQL-запрос в phpmyadmin:
SHOW INDEX FROM `ng_news`
Это и есть список всех индексов таблицы?
Кстати, после создания индекса, дополнительно ничего с ним делать не нужно? Можно сразу сортировать по полю totalrating, или как?
Не в сети
SHOW INDEX FROM `ng_news`
Это и есть список всех индексов таблицы?
Кстати, после создания индекса, дополнительно ничего с ним делать не нужно? Можно сразу сортировать по полю totalrating, или как?
Да, это полный список.
Нет, больше ничего делать не надо и можно сразу же использовать.
Не в сети
Да, это полный список.
Нет, больше ничего делать не надо и можно сразу же использовать.
Во, отлично, спасибо!
Теперь придется всё переделывать
Кстати, поле totalrating должно хранить дробное число, чтобы сортировать правильно, надо мне это не забыть...
Не в сети
UPD.
Вторая сборка с учетом всех ошибок. Индекс есть, всё сортируется, и вроде всё работает как надо.
Ну что еще не так?!
Скачать 0.9.3 RC1 [SVN856] with Rating (Сборка 2).7z (ссылка действительна 90 дней, если шо )
Кстати, предыдущий архив так никто даже и не скачал, я один тестирую
Не в сети
http://trac.assembla.com/ngcms/changeset/919
+ Для плагинов-новостных фильтров добавлен обработчик onBeforeShowlist(), который вызывается после выполнения SQL запроса, но до запуска основного цикла по показу новостей. Обработчик может использоваться для подгрузки необходимых данных единым SQL запросом вместо генерации пачки запросов по каждой новости.
Не в сети
При установке настройки плагина: "IP, UserID и Cookies" получается так, что из незарегистрированных пользователей проголосовать может только первый, последующие пользователи голосовать не могут. Причина, видимо в том, что при настройке "IP, UserID и Cookies" (хотя написано: "с одного IP-адреса и/или User ID пользователь может проголосовать...") идет проверка голосовавших по графе "user_id" (таблицы ng_rating), в которой все незарегистрированные пользователи имеют одно значение "0", таким образом проверку user_id для незарегистрированных пользователей надо отключить или сделать отдельную опцию в настройках плагина.
Денвер, сборка из поста #135
Изменено Klim (2012-06-02 20:39:51)
Не в сети
Еще один момент:
При установке настройки плагина: "IP, UserID и Cookies" незарегистрированный пользователь может одновременно проголосовать несколько раз за одну новость с одного IP если:
1. откроет новость в нескольких разных браузерах и затем поочередно проголосует;
2. откроет в одном браузере несколько страниц с одной новостью, поочередно (не обновляя страницы) делая голосование и сброс куков.
Не в сети