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

Statistics.html и вивод кол-ва новостей в нем!?


     31.03.2015    Шаблоны (TPL)    987

вопрос
Доброго времени суток, ув. Знатоки. Сразу к вопросу...
Столкнулся с проблемой на странице statistics.html, а именно как вывести кол-во новостей в определенной категории?

Ответил: golden_eagle_god


Выполните запрос и выведите значение, вместо {ваш id} вставьте цифру:

$news_count_cat = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_post WHERE category='{ваш id}'");

$tpl->set( '{news_count_cat}', $news_count_cat['count'] );


В шаблоне используйте {news_count_cat} чтоб вывести это число.
Надеюсь помог. Удачи.

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

golden_eagle_god
26

247 | 34

golden_eagle_god - 1 апреля 2015 16:45 - Юзер

В добавок к ответу, забыл сказать, что правки нужно производить в файле /engine/modules/stats.php

Apache
38

Apache - 1 апреля 2015 21:00 - Юзер

golden_eagle_god,
Тоесть, если у меня около 400 категорий, мне надо сделать 400 запросов? Не ужели все так сложно... (

golden_eagle_god
26

247 | 34

golden_eagle_god - 2 апреля 2015 11:16 - Юзер

Нет, ну смотря для чего вам это нужно и как выводить. Я ответил по факту, для определенной категории.
как вывести кол-во новостей в определенной категории


Если нужно вывести из каждой категории нужное кол-во новостей, то, как вариант, можно перебрать категории и выполнить запрос с id категории.

foreach ($cat_info as $key=>$val){

    #Кол-во публикаций в кат-ии.
    $news_cat_num = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE category='{$key}'");
    
    $buffer .= "<p>ID - {$key}, Новостей - {$news_cat_num['count']}шт.</p>";

}


Если не хотите много запросов, то можете воспользоваться одним запросом:

"SELECT c.id as cat_id, count(p.id) as count_news FROM ".PREFIX."_post p JOIN ".PREFIX."_category c ON p.category = c.id GROUP BY p.category;


На выходе будет:

cat_id count_news
10 17
4 11
5 14
6 7
7 13
8 6

Ну а потом перебрать эти данные через цикл и всё. Удачи

Apache
38

Apache - 3 апреля 2015 15:12 - Юзер

golden_eagle_god,
Спасибо за помощь. Нужно пример: у меня сайт каталог программ. И вот для каждой категории вывести кол-во программ в ней.
Пример:
Программ для графики: 374
Программы редакторы: 217
и тп.

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

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