Помощь Рейтинг публикаций пользователя

Тема в разделе "DLE", создана пользователем SPoX, 9 май 2015.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    172
    Симпатии:
    24
    Здравствуйте
    у меня установлено DLE 10.3 версия
    я использую модуль oRating v3. который купил у Sander-а

    на PW к этому рейтингу добавлена новая функция: Рейтинг публикаций пользователя (который Sander не продает)

    хотел самостоятельно добавить эту функцию к рейтингу и почти получилось

    у меня есть проблема, публикации дублируются и не показывает общий рейтинг

    [​IMG]

    думаю надо сделать count но у меня не получается ничего
    может быть вы мне поможете решить эту проблему



    за ранее всем огромное спасибо

    P.S. модератора killoff попрошу прошения если в посте у меня орфографические ошибки
     
  2. inmy

    inmy

    Регистр.:
    13 апр 2012
    Сообщения:
    296
    Симпатии:
    200
    обрисуй как вызываеться и прикаких действиях,я на пв что-то не увидел просто вызов того что ты хочеш реализовать
     
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Тут у вас не верный sql
    PHP:
    $sql $db->query"SELECT p.id as pid, p.date as pdate, p.title, p.category, p.alt_name, l.value, l.date as logdate FROM " PREFIX "_logs l LEFT JOIN ".PREFIX."_post p ON l.news_id=p.id WHERE p.autor='$name' AND p.id ORDER BY l.date DESC LIMIT 0,{$limit}"true );
    Вероятнее всего надо как-то так:
    PHP:
    $sql $db->query"SELECT p.id as pid, p.date as pdate, p.title, p.category, p.alt_name, COUNT(l.value) as value, l.date as logdate FROM " PREFIX "_logs l LEFT JOIN ".PREFIX."_post p ON l.news_id=p.id WHERE p.autor='$name' AND p.id GROUP BY p.id ORDER BY l.date DESC LIMIT 0,{$limit}"true );
    Это для случая когда оценка может быть только положительной и равна 1. Если иначе используйте SUM() или AVG() в зависимости от логики плагина http://www.site-do.ru/db/sql11.php
     
    SPoX нравится это.
  4. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    172
    Симпатии:
    24
    изменил sql вызов и публикации больше не дублируются
    но есть проблема

    голоса могут быть как +1 также -1

    у меня теперь все голоса показывает +
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    SUM(l.value) используй вместо COUNT(l.value)
     
  6. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    172
    Симпатии:
    24
    так мы уже почти у цели
    теперь минусы тоже показывает

    но в рейтинге пропали +
    на пример в рейтинге показывает 4 вместо +4
     
  7. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.035
    Симпатии:
    2.034
    Ну и извращенцы тут собрались...
    Код:
    {custom order=rating}
    Ну а +/- интегрированы в DLE 10.4
     
    latteo нравится это.
  8. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    172
    Симпатии:
    24
    во первых спасибо за внимание
    во вторых этот код что вы написали в том файле где надо вставить не очень разобрался
     
  9. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.035
    Симпатии:
    2.034
    Этот код вставляется непосредственно в main.tpl, либо другой шаблон, где это требуется...
     
  10. SPoX

    SPoX

    Регистр.:
    19 апр 2014
    Сообщения:
    172
    Симпатии:
    24
    вы на своем сайте используйте модуль orating? там все по другому
    к сожалению так не вставить этот код
    там все через JS выводится

    если кто нибудь использует и знает этот рейтинг пожалуйста посмотрите может быть вы мне поможете