Вы не вошли.
Мутная какая-то документация, непонятная... ![]()
Короче, ближе к телу
Получается, при установке надо делать так:
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? :D
Вне форума
Вне форума
ALTER TABLE `news` ADD INDEX `news_totalrating` ( `totalrating` )Проверить использует ли MySQL индекс или нет, можно через explain
Понятно. Но:
Оператор ALTER TABLE обеспечивает возможность изменять структуру существующей таблицы. Например, можно добавлять или удалять столбцы, создавать или уничтожать индексы или переименовывать столбцы либо саму таблицу. Можно также изменять комментарий для таблицы и ее тип.
А при установке CMS(т.е. при создании таблицы) мой вариант не будет работать?
В одном из мануалов, я читал что KEY является синонимом для INDEX, ну как-то так :rolleyes:
Вне форума
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 19:39:51)
Вне форума
Еще один момент:
При установке настройки плагина: "IP, UserID и Cookies" незарегистрированный пользователь может одновременно проголосовать несколько раз за одну новость с одного IP если:
1. откроет новость в нескольких разных браузерах и затем поочередно проголосует;
2. откроет в одном браузере несколько страниц с одной новостью, поочередно (не обновляя страницы) делая голосование и сброс куков.
Вне форума
[ Сгенерировано за 0.018 сек, 7 запросов выполнено - Использовано памяти: 579.66 Кбайт (Пик: 600.66 Кбайт) ]