Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Модули Необходимо реализовать вывод рейтинговых новостей на сайте за все время

Необходимо реализовать вывод рейтинговых новостей на сайте за все время


     15.03.2014    Модули    1156

вопрос
Всем Привет. Как в topnews.php изменить код, отвечающий за лимит времени вывода популярных новостей?!

В дле 10.1 вот этот код, где, как я понял INTERVAL 1 MONTH AND означает вывод популярных новостей на 1 месяц.

$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,{$config['top_number']}" );

Как сделать так, что бы там было отображение за все время существования сайта. )) Или можно указать немалую циферку? 50 месяцев например?! ))

Ответил: D0Gmatist


p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month'


Значение Type => Ожидаемый формат expr

SECOND => SECONDS
MINUTE => MINUTES
HOUR => HOURS
DAY => DAYS
MONTH => MONTHS
YEAR => YEARS
MINUTE_SECOND => "MINUTES:SECONDS"
HOUR_MINUTE => "HOURS:MINUTES"
DAY_HOUR => "DAYS HOURS"
YEAR_MONTH => "YEARS-MONTHS"
HOUR_SECOND => "HOURS:MINUTES:SECONDS"
DAY_MINUTE => "DAYS HOURS:MINUTES"
DAY_SECOND => "DAYS HOURS:MINUTES:SECONDS"

если за всё время то по идее просто вырезать условия селекта ограничивающие вывод датой
$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,{$config['top_number']}" );

Комментарии пользователей (5)

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 16:49 - Местный

p.date >= '$this_month' - INTERVAL 1 MONTH
- INTERVAL 1 MONTH

Значение Type => Ожидаемый формат expr

SECOND => SECONDS
MINUTE => MINUTES
HOUR => HOURS
DAY => DAYS
MONTH => MONTHS
YEAR => YEARS
MINUTE_SECOND => "MINUTES:SECONDS"
HOUR_MINUTE => "HOURS:MINUTES"
DAY_HOUR => "DAYS HOURS"
YEAR_MONTH => "YEARS-MONTHS"
HOUR_SECOND => "HOURS:MINUTES:SECONDS"
DAY_MINUTE => "DAYS HOURS:MINUTES"
DAY_SECOND => "DAYS HOURS:MINUTES:SECONDS"

если за всё время то по идее просто вырезать условия селекта ограничивающие вывод датой
$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,{$config['top_number']}" );

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 16:55 - Местный

Если помогло отпишитесь,,, самому интересно... просто не затрагивал эту часть DLE... не было нужды

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

Timkab
40 | 2

Timkab - 15 марта 2014 16:59 - Юзер

Я написал вместо 1 -50 просто, типа 50 месяцев. )) Так вроде сработало. )

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 19:56 - Местный

лучше тогда заменить MONTH на HOUR и число 4
50 месяцев это округлённо 4 года

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

dj-avtosh
39

1479 | 390

dj-avtosh - 16 марта 2014 06:47 - шашлычник

Ответ же был правильный дан. Для чего это 50 месяцев?

skype: elhan.isaev

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

Похожие вопросы