trianon14 7 Опубликовано: 3 ноября 2015 Рассказать Опубликовано: 3 ноября 2015 (изменено) Нужен тег общего количества новостей в категории. Пробежался бегло по мануалу и обнаружил, что такого тега в DLE, судя по всему, нет. Но нашёл хак. Единственый минус хака - он выводит общее количество новостей в скобках. Плюс указывает количество добавленных новостей за сегодня. Вот так - (25/+2). А это неудобно. Может кто из программистов - профи подскажет мне, что нужно изменить в этом коде, чтобы выводилось просто общее количество новостей в категории и без скобок. UPD. Скобки и количество добавленных за "сегодня" новостей убрал. Это просто. А вот как сделать так, чтобы добавленные свежие новости сразу по цифрам прибавлялись к ранее добавленным? $sql_result = $db->query("select ct.id, (select count(*) from ". PREFIX ."_post ps where (ps.category REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or ps.category=ct.id) AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_, (select count(*) from ". PREFIX ."_post ps where (ps.category REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or ps.category=ct.id) AND approve = '1') as allnews_ from ". PREFIX ."_category ct" ); $count_news_of_category = ''; while($row = $db->get_row($sql_result)) { if( $row['new_'] == '0') {$news_now = ')';} else {$news_now = '/+'.$row['new_'].')';}; $t = '('.$row['allnews_'].$news_now; $tpl->set('{count_categ_'.$row['id'].'}', $t); $count_news_of_category .= $row['id'].'#'.$t.'|'; } Изменено 3 ноября 2015 пользователем trianon14 Цитата Ссылка на сообщение Поделиться на других сайтах
trianon14 7 Опубликовано: 4 ноября 2015 Рассказать Опубликовано: 4 ноября 2015 Автор Вопрос решён Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.